[英]How to find the length and breadth of a rectangle in an image using matlab
我有下面根据我记录的值生成的图像。 我已将值转换为缩放图像,然后将其调整为36 x 52图像。
此图显示了我使用的值的升级版本。 我需要做的是计算填充有绿色的形状的长度和宽度。 下图显示了我想要的。
我已将图像转换为二进制图像,然后尝试使用regionprops使用以下代码来计算长度和宽度。
B = im2bw(A);
B1 = double(A);
Props = regionprops(B1,'MajorAxisLength','MinorAxisLength');
我没有获得突出显示区域的尺寸,而是获得了所有二进制值为1的区域。
我已经获得了绿色区域以及黄色/橙色区域的长度和宽度。 如果将rgb转换为二进制图像,则得到以下图像,而我想要的只是中心矩形的尺寸。
我获得的尺寸包括侧面的其他两个白色区域。 我应该消除它们,或者只计算矩形的尺寸。如何继续查找矩形的面积。 还是有其他方法可以做到? 提前致谢!!!
我猜您的图片A的大小为36x52x3,其中3表示红色,绿色和蓝色。 因此,如果您更换
B = im2bw(A);
使用以下代码:
a = double(A); % in case it is integer type
a = a(:,:,2) - a(:,:,1) - a(:,:,3); % try to find green only
B = im2bw(a); % you may need to set level based on image data type
你应该得到你想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.