Ellipse Fit (Direct method)

版本 1.1.0.0 (1.9 KB) 作者: Nikolai Chernov
Fits an ellipse to a set of points on a plane; returns the coefficients of the ellipse's equation
13.2K 次下载
更新时间 2009/1/16

查看许可证

编者注: This file was selected as MATLAB Central Pick of the Week

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.html

This ellipse fit was proposed in article
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".

My code is based on a numerically stable version
of this fit published by R. Halir and J. Flusser. I only
added data centering to further improve performance.

Note: this fit returns ellipses only! You will get an ellipse
even if points can be better approximated by a hyperbola.

This fit is somewhat biased toward smaller ellipses.

引用格式

Nikolai Chernov (2026). Ellipse Fit (Direct method) (https://ww2.mathworks.cn/matlabcentral/fileexchange/22684-ellipse-fit-direct-method), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R12
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
致谢

参考作品: Ellipse Fit

版本 已发布 发行说明
1.1.0.0

Added the description of input and output.

1.0.0.0