From 0331af01ae020f812e226e510e54f857de78c28f Mon Sep 17 00:00:00 2001 From: MaximSmolskiy Date: Tue, 7 Jan 2025 22:24:48 +0300 Subject: [PATCH] Change article for fitEllipseDirect function --- doc/opencv.bib | 19 +++++-------------- modules/imgproc/include/opencv2/imgproc.hpp | 2 +- samples/cpp/fitellipse.cpp | 2 +- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/doc/opencv.bib b/doc/opencv.bib index e3363a181c..f944747a7d 100644 --- a/doc/opencv.bib +++ b/doc/opencv.bib @@ -424,20 +424,11 @@ publisher = {BMVA Press}, url = {https://www.researchgate.net/profile/Robert_Fisher5/publication/2237785_A_Buyer's_Guide_to_Conic_Fitting/links/0fcfd50f59aeded518000000/A-Buyers-Guide-to-Conic-Fitting.pdf} } -@article{fitzgibbon1999, - abstract = {This work presents a new efficient method for fitting ellipses to scattered data. Previous algorithms either fitted general conics or were computationally expensive. By minimizing the algebraic distance subject to the constraint 4ac-b2=1, the new method incorporates the ellipticity constraint into the normalization factor. The proposed method combines several advantages: It is ellipse-specific, so that even bad data will always return an ellipse. It can be solved naturally by a generalized eigensystem. It is extremely robust, efficient, and easy to implement}, - author = {Fitzgibbon, Andrew and Pilu, Maurizio and Fisher, Robert B.}, - doi = {10.1109/34.765658}, - isbn = {0162-8828}, - issn = {01628828}, - journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence}, - number = {5}, - pages = {476--480}, - pmid = {708}, - title = {Direct least square fitting of ellipses}, - volume = {21}, - year = {1999}, - url = {https://pdfs.semanticscholar.org/090d/25f94cb021bdd3400a2f547f989a6a5e07ec.pdf} +@inproceedings{oy1998NumericallySD, + title = {Numerically Stable Direct Least Squares Fitting of Ellipses}, + author = {Radim Hal oy and Jan Flusser}, + year = {1998}, + url = {https://www.semanticscholar.org/paper/Numerically-Stable-Direct-Least-Squares-Fitting-of-oy-Flusser/9a8607575ba9c6016e9f3db5e52f5ed4d14d5dfd} } @article{Gallego2014ACF, title = {A Compact Formula for the Derivative of a 3-D Rotation in Exponential Coordinates}, diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index bb0cab7426..90b18eebe0 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -4342,7 +4342,7 @@ CV_EXPORTS_W RotatedRect fitEllipseAMS( InputArray points ); The function calculates the ellipse that fits a set of 2D points. It returns the rotated rectangle in which the ellipse is inscribed. - The Direct least square (Direct) method by @cite Fitzgibbon1999 is used. + The Direct least square (Direct) method by @cite oy1998NumericallySD is used. For an ellipse, this basis set is \f$ \chi= \left(x^2, x y, y^2, x, y, 1\right) \f$, which is a set of six free coefficients \f$ A^T=\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} \f$. diff --git a/samples/cpp/fitellipse.cpp b/samples/cpp/fitellipse.cpp index 7d217014d5..60f72cd4ef 100644 --- a/samples/cpp/fitellipse.cpp +++ b/samples/cpp/fitellipse.cpp @@ -5,7 +5,7 @@ * contours and approximate it by ellipses using three methods. * 1: OpenCV's original method fitEllipse which implements Fitzgibbon 1995 method. * 2: The Approximate Mean Square (AMS) method fitEllipseAMS proposed by Taubin 1991 - * 3: The Direct least square (Direct) method fitEllipseDirect proposed by Fitzgibbon1999. + * 3: The Direct least square (Direct) method fitEllipseDirect proposed by oy1998NumericallySD. * * Trackbar specify threshold parameter. *