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

7 次查看(过去 30 天)
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!

回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by