这是矩形的二进制图像: 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 |
此致 感谢
答案 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