how can I find whether the x and y values are within an image ?
4 views (last 30 days)
Show older comments
Hello to everyone. I have binary pictures and x y coordinate values. I want to check if these points are in the picture. How can I do this using the loop ?
Thanks in advance ...
0 Comments
Answers (1)
Walter Roberson
on 12 Apr 2019
margin = 0.5;
in_image = x >= margin & x <= size(YourImage,2) + margin & y >= margin & y <= size(YourImage,1) + margin;
The margin is there to account for pixel width. When you position an image at (1,1) on one side and (maxcolumn,maxrow) on the other, then those are the coordinates of pixel centers so down to (0.5,0.5) and up to (maxcolumn+0.5,maxrow+0.5) is still "within" the image.
2 Comments
Walter Roberson
on 13 Apr 2019
margin = 0.5;
in_image = x >= margin & x < size(YourImage,2) + margin & y >= margin & y < size(YourImage,1) + margin;
ind = sub2ind(size(YourImage), round(y(in_image)), round(x(in_image)) );
is_white = false(size(in_image));
is_white(ind) = YourImage(ind) == 1;
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!