如何在matlab中找到矩形的长度距离?

时间:2013-04-04 21:34:23

标签: matlab shape

这是矩形的二进制图像: 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 |

此致 感谢

1 个答案:

答案 0 :(得分:1)

对于this输入图片,您只需执行以下操作:

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