How to store a pixel location in an array?
2 ビュー (過去 30 日間)
古いコメントを表示
Suppose i'm scanning my image for pixels that match a criteria,
instead of storing the PIXEL itself, i want to put the X-coordinate and the Y-coordinate of the pixel into an array
if i were doing it in C, it would look something like int a[i][j]=(i,j);
Basically, i just need a way to store the X-and Y-coordinates in a single array so i can access them that way. is this possible? please suggest what i could do otherwise.
0 件のコメント
回答 (2 件)
Azzi Abdelmalek
2013 年 9 月 18 日
編集済み: Azzi Abdelmalek
2013 年 9 月 18 日
a=[1 2 3;4 5 6;7 8 9] % your array
[ii,jj]=find(a>4) % In this example the criteria is a>4, ii and jj are the coordinate
coordinate=[ii jj]
0 件のコメント
Image Analyst
2013 年 9 月 18 日
編集済み: Image Analyst
2013 年 9 月 18 日
binaryImage = yourImage == criteria;
That will give you a logical "map" of what pixels meet your criteria. That is most likely all you will need. You most probably won't need the actual row and column number, even though you think you do. For example, turn all pixels brighter than 110 to white (255)
binaryImage = yourImage > 110; % Find the pixels.
yourImage(binaryImage) = 255; % Set them to 255
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!