这是矩形的二进制图像: 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|
衷心感谢
这是矩形的二进制图像: 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|
衷心感谢
对于此输入图像,您可以简单地执行以下操作:
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