Create a new matrix that contains indices for values that are larger than X
4 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
Image Analyst
2013-10-7
编辑:Image Analyst
2013-10-7
[rows, columns] = find(D > X);
4 个评论
Image Analyst
2013-10-7
编辑:Image Analyst
2013-10-7
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!