Class EllipseFitFitzgibbonNaive
- All Implemented Interfaces:
EllipseFitAlgebraic
Algebraic ellipse fit using Fitzgibbon's original method [1], based on simple matrix inversion. See [2, Sec. 11.2.1] for a detailed description. Note: This implementation does not use data centering nor accepts a specific reference point. With exactly 5 input points (generally sufficient for ellipse fitting) the scatter matrix X is singular and in this case matrix S has no inverse. Thus at least 6 distinct input points are required (i.e., no duplicate points are allowed).
[1] A. W. Fitzgibbon, M. Pilu, and R. B. Fisher. Direct least- squares fitting of ellipses. IEEE Transactions on
Pattern Analysis and Machine Intelligence 21(5), 476-480 (1999).
[2] W. Burger, M.J. Burge, Digital Image
Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/11/17
-
Nested Class Summary
Nested classes/interfaces inherited from interface imagingbook.common.geometry.fitting.ellipse.algebraic.EllipseFitAlgebraic
EllipseFitAlgebraic.FitType
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
Returns a vector of algebraic ellipse parameters:(a,b,c,d,e,f)
, representing the ellipse bya x^2 + b x y + c y^2 + d x + e y + f = 0
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface imagingbook.common.geometry.fitting.ellipse.algebraic.EllipseFitAlgebraic
getDataOffsetCorrectionMatrix, getEllipse, isEllipse
-
Constructor Details
-
EllipseFitFitzgibbonNaive
-
-
Method Details
-
getParameters
Description copied from interface:EllipseFitAlgebraic
Returns a vector of algebraic ellipse parameters:(a,b,c,d,e,f)
, representing the ellipse bya x^2 + b x y + c y^2 + d x + e y + f = 0
.- Specified by:
getParameters
in interfaceEllipseFitAlgebraic
- Returns:
- the ellipse parameters
-