Image Processing: Find nearest nonzero pixel value to specified pixel coordinates

12 views (last 30 days)
Is there a way to find the closest non-zero pixel value to specified x,y coordinates of an image by shifting only the horizontal 'x' direction?
For example, if I have the coordinates 100, 100, the pixel value is zero, but there is a 1 at the coordinates 100, 98. Is there a way that I can find this 1 automatically, and retrieve the correct coordinates (98,100)?
As always, thanks for your help!

Answers (1)

Walter Roberson
Walter Roberson on 18 Sep 2011
[nz, nzidx] = find(YourArray(:,y));
[offset, offsetidx] = min(abs(x - nzidx));
nearestpixelidx = nzidx(offsetidx);

Community Treasure Hunt

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

Start Hunting!