我在matlab中使用regionprop函数来获取图像的MajorAxisLength。我认为从逻辑上讲,此数字不应大于sqrt(a ^ 2 + b ^ 2),其中abd b是图像的宽度和高度。但对于我的形象而言。我的黑白图像在图像中心包含一个黑色圆圈。我觉得这很奇怪。有谁能够帮助我?
谢谢。
回答:
如果查看regionprops (子函数ComputeEllipseParams )的代码,您会看到它们使用第二矩来估计椭圆半径。这对于椭圆形的特征非常有效,但对于带孔的特征却不是很好。如果从质心周围删除像素,第二矩会增加(顺便说一句,为什么它们会生成工字梁)。因此,图像中间的“洞”越大,表观椭圆半径越大。
在您的情况下,最好使用regionprops的extrema属性,并从那里计算最大半径。
更多&回答...