Fix Bug #3989: correctly identify ellipse with its axes parallel to x-y axes during semi-major axis calculation

pull/3936/head
Deanna Hood 10 years ago
parent 81c5d58035
commit 103336c76e
  1. 4
      modules/imgproc/src/shapedescr.cpp

@ -447,9 +447,9 @@ cv::RotatedRect cv::fitEllipse( InputArray _points )
// store angle and radii
rp[4] = -0.5 * atan2(gfp[2], gfp[1] - gfp[0]); // convert from APP angle usage
t = sin(-2.0 * rp[4]);
if( fabs(t) > fabs(gfp[2])*min_eps )
if( fabs(t) > min_eps )
t = gfp[2]/t;
else
else // ellipse is rotated by an integer multiple of pi/2
t = gfp[1] - gfp[0];
rp[2] = fabs(gfp[0] + gfp[1] - t);
if( rp[2] > min_eps )

Loading…
Cancel
Save