Quantcast
Channel: MATLAB Central - File Exchange - tag:"least squares"
Viewing all articles
Browse latest Browse all 522

Ellipse Fit (Direct method)

$
0
0
226842009-01-16T12:56:47Z2009-01-16T12:56:47Z

This is a fast and non-iterative ellipse fit. Usage: A = EllipseDirectFit(XY)Input: XY(n,2) is the array of coordinates of n points x(i)=XY(i,1), y(i)=XY(i,2) Output: A = [a b c d e f]' is the vector of coefficients of the equation of the best fitting ellipse: ax^2 + bxy + cy^2 + dx + ey + f = 0,To convert this vector to the geometric parameters (semi-axes, center, etc.) use standard formulas, e.g., (19) - (24) in Wolfram Mathworld: http://mathworld.wolfram.com/Ellipse.htmlThis ellipse fit was proposed in articleA. 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".My code is based on a numerically stable versionof this fit published by R. Halir and J. Flusser. I onlyadded data centering to further improve performance.Note: this fit returns ellipses only! You will get an ellipseeven if points can be better approximated by a hyperbola.This fit is somewhat biased toward smaller ellipses.


Viewing all articles
Browse latest Browse all 522

Trending Articles