这是一个快速和非迭代椭圆拟合算法
. 用法:
A = EllipseDirectFit(XY)
输入: XY(n,2) 数组是n个点的坐标
x(i)=XY(i,1), y(i)=XY(i,2)
输出: A = [a b c d e f]' 时椭圆拟合的系数向量其方程方程为::
ax^2 + bxy + cy^2 + dx + ey + f = 0,其中A是被归一化的 ||A||=1
可以转换输出的几何参数,比如(半轴,中心等),具体的理论公式在http://www.mathworks.com/matlabcentral/fx_files/22684/2/ellipse.png。
这个椭圆拟合理论是被提出在下面的文章:
A. W. Fitzgibbon, M. Pilu, R. B. Fisher
"Direct Least Squares Fitting of Ellipses"
IEEE Trans. PAMI, Vol. 21, pages 476-480 (1999)The authors called it "Direct Ellipse Fit".
作者称它为"Direct Ellipse Fit".
这个代码是基于一本合适的数值稳定版本R. Halir and J. Flusser只是将数据中心,以进一步提高性能
注意:拟合输出值为椭圆!您将获得一个椭圆即使点可以得到更好的近似一双曲线。
1