Create a new matrix that contains indices for values that are larger than X

4 visualizzazioni (ultimi 30 giorni)
Lets say I have a matrix D and I ask the user to input a number into X. Now I need a new matrix which contains indices for values that are larger than X, what do I do to do this?

Risposte (1)

Image Analyst
Image Analyst il 7 Ott 2013
Modificato: Image Analyst il 7 Ott 2013
[rows, columns] = find(D > X);
  4 Commenti
Image Analyst
Image Analyst il 7 Ott 2013
Modificato: Image Analyst il 7 Ott 2013
rows and columns are your new matrices. So row(1) and column(1) are the row and column of the first element that is more than x.
If you want a binary "map" of where it's greater than just threshold:
binaryImage = D > X;
That will be a matrix of true and false (1 & 0) the same size as D. If you want just a long 1D list of values, you can do
bigValues = D(binaryImage);
But you said "new matrix which contains indices" so I gave you that. rows and columns contain the indices. To say that you want a matrix “number of pixels” x “number of pixels” shows that you don't really understand what you're asking for because that makes no sense whatsoever. If your matrix is 100 by 100 = 10000 pixels, you're not going to want a matrix that's 10000 by 10000 pixels = 100 million elements. A hundred million elements for a 100 by 100 tiny image just makes no sense.

Accedi per commentare.

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by