首页 > 解决方案 > 如何使用轮廓线的长度和宽度来确定轮廓线是圆形还是非圆形?

问题描述

在获取轮廓数据后,如何确定来自轮廓函数的轮廓线是否为圆形。

有没有办法计算轮廓线的长度和宽度,如果它更接近 1,它的比率会更圆。

标签: matlab

解决方案


正如@Anthony 建议的那样,您可以使用一些圆拟合算法,例如Kasa's algorithm,它非常容易实现。

xy作为两列向量输入:

a=[x y ones(size(x))]\-(x.^2+y.^2);
centre_x = -.5*a(1);
centre_y = -.5*a(2);
radius  =  sqrt((a(1)^2+a(2)^2)/4-a(3));

在 Matlab 中,您可以\用来求解线性方程组。如果您不熟悉它,请检查它。


推荐阅读