how can I find whether the x and y values ​​are within an image ?

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

回答(1 个)

Walter Roberson
Walter Roberson 2019-4-12
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 个评论
busra dogru
busra dogru 2019-4-12
Firstly, thanks for your response. Actually I want to check if x and y values ​​are inside a letter written in white on top of the black background. That is, if the values ​​are in the white part. There are no spaces in my pictures. How do you think I can do that?
Walter Roberson
Walter Roberson 2019-4-13
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;

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by