You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In an earlier issue, I've said that I solved an issue by adding + 1.0 to these lines:
// semimajor axis
a = sqrt(F3 / A2) + 1.0;
// semiminor axis
b = sqrt(F3 / C2) + 1.0;
Now I've removed the + 1.0s again, and solved the issue in a better way.
The semi-major and semi-minor axis lengths were truncated, which caused the accuracy issue I had. This is solved by changing the type of the axes member within the mEllipse class from cv::Size to cv::Size2d.
In an earlier issue, I've said that I solved an issue by adding
+ 1.0
to these lines:Now I've removed the
+ 1.0
s again, and solved the issue in a better way.The semi-major and semi-minor axis lengths were truncated, which caused the accuracy issue I had. This is solved by changing the type of the
axes
member within themEllipse
class fromcv::Size
tocv::Size2d
.Here:
https://github.com/CihanTopal/ED_Lib/blob/master/EDCircles.h#L54
Also, the constructor and all calls to it must be adjusted to take doubles.
All other parts of the code use doubles for major/minor axis lengths, so no further changes are required.
This fix improves accuracy of the ellipse detector by half, or maybe a quarter of, a pixel on average.
The text was updated successfully, but these errors were encountered: