Ellipse Fit (Direct method)

Fits an ellipse to a set of points on a plane; returns the coefficients of the ellipse's equation
ダウンロード: 13.1K
更新 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 (2024). Ellipse Fit (Direct method) (https://www.mathworks.com/matlabcentral/fileexchange/22684-ellipse-fit-direct-method), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R12
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersStatistics and Machine Learning Toolbox についてさらに検索
謝辞

ヒントを得たファイル: Ellipse Fit

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
1.1.0.0

Added the description of input and output.

1.0.0.0