how can we get coordinates of non zero pixel in 3D image
4 ビュー (過去 30 日間)
古いコメントを表示
I have a stack of 249 images (image of the skeleton of the aorta) it appears like points in some slices and like lines in another slices. I want to get for each slice the coordinates of the non zero value in the image (my images are binary). I tried the command Find but it gives me just the coordinates and i don't know at which slice it corresponds.
0 件のコメント
回答 (2 件)
KSSV
2017 年 2 月 1 日
編集済み: KSSV
2017 年 2 月 1 日
find gives you row and col position along with the value you asked to seek. You can run a loop on each matrix and use find as
[row,col,v] = find(I(:,:,1)~=0)
Or alternatively you can try find on 3D matrix using:
[r,c,v] = ind2sub(size(I),find(I ~= 0));
Note that the above command is taken from the link: https://in.mathworks.com/matlabcentral/answers/789-using-find-in-a-3d-matrix-in-matlab
3 件のコメント
Image Analyst
2018 年 12 月 17 日
Of WHAT point? You have the coordinates of all the points. If you want one certain special point, you're going to have to identify it somehow so we know which one it is.
Sayan Bhattacharya
2018 年 12 月 18 日
編集済み: Sayan Bhattacharya
2018 年 12 月 18 日
Image Analyst,
Like in the following figure, let's say its size is 100x100 that's rows & columns.
If we are moving lets say from 1st row to the last row in a loop can you please help me get the code for identifying the co-ordinates of that point where there is 1st non zero pixel encountered?![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199339/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199339/image.jpeg)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!