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

3 visualizaciones (últimos 30 días)
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?

Respuestas (1)

Image Analyst
Image Analyst el 7 de Oct. de 2013
Editada: Image Analyst el 7 de Oct. de 2013
[rows, columns] = find(D > X);
  4 comentarios
Jhangir
Jhangir el 7 de Oct. de 2013
“number of pixels” x “number of pixels”.
Image Analyst
Image Analyst el 7 de Oct. de 2013
Editada: Image Analyst el 7 de Oct. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by