1

这是矩形的二进制图像: http ://www.google.com/search?tbm=isch&source=mog&hl=en&gl=us&client=ms-rim&tab=wi&q=rectangle%20binary&sa=N

我想从左边(xo)和右边(x1)找到坐标来找到距离长度,还要从坐标底部(yo)和上面(y1)找到宽度。其中:对于长度 » 距离 (X) = |X1-X0| 对于宽度 » 距离(Y) = |Y1-Y0|

衷心感谢

4

1 回答 1

1

对于输入图像,您可以简单地执行以下操作:

A = imread('art5.gif');
[y, x] = find(A==1);
my_length = max(x) - min(x) + 1
my_width = max(y) - min(y) + 1

这会给你:

my_length =

   171


my_width =

    89

这里因为它是一个逻辑 gif,上面的代码就足够了。但是,如果输入图像在 RGB 空间中,您将需要:

A = im2bw(rgb2gray(imread('art5.gif')));

如果是灰度图像:

A = im2bw(imread('art5.gif'));

编辑

如果您'BoundingBox'通过该regionprops()功能使用:

A = imread('art5.gif');
s = regionprops(A, 'BoundingBox');
my_length = s.BoundingBox(3)
my_width = s.BoundingBox(4)

这会给你:

my_length =

   171


my_width =

    89
于 2013-04-04T21:43:54.523 回答