测量矩形物体的宽度

2次查看(最近30天)
Jon Mestal
Jon Mestal 2020年5月13日
回答: 图像分析 2020年5月13日
我正在尝试自动测量图像中的矩形对象的宽度。这是一个真实矩形物体的MR图像,但图像可以显示出一些缺陷;示例图像有一些弯曲。理想情况下,我将测量靠近对象中心的宽度,平行于对象边缘,而不是沿着图像轴。对象应该在大致相同的位置和方向每次,但可能会轻微移动(几厘米)基于实际定位时,对象是成像。
我成功地使用了regionprops中的BoundingBox来测量宽度,但当图像稍微旋转时,这种方法就不能很好地工作,它是从最长宽度而不是靠近中心的地方测量的。
我想我需要填充二进制图像,然后旋转和计数像素,但不确定如何做,或者这是否是最好的方法。

答案(2)

darova
darova 2020年5月13日
这里有一个想法:
  • binarize图像
  • imclose图像得到固体区域
  • 使用循环和imline创建几行。使用createMask属性创建线的蒙版
  • 计算每一行的长度
I = I1 &掩模;
[ii, jj] =找到(我);
d (i) =函数(ii(结束)——(1),jj(结束)剧照(1));
  • 选择最短的路线

图像分析
图像分析 2020年5月13日
我可能会阈值,然后扫描顶部和底部,以得到顶线和底线,这可能略有倾斜。然后调用fitpolynomial ialransac()或polyfit()来获取角度。然后旋转与imrotate水平/拉直图像,然后采取一个轮廓线右通过中心。然后寻找侧面的全宽,半最大值。如果你想不出来就告诉我们。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!