Ask Your Question

Calibration with circle grid - center of gravity is not the circle center - is this implemented?

asked 2016-07-13 09:05:52 -0500

JamesF gravatar image

updated 2016-07-13 09:29:25 -0500


my question is about the calibration methods in OpenCV. I know the user can choose between chessboard and circle patterns. For circle patterns though, there is this problem that the center of a circle is not the same anymore as the center of the circle's gravity when viewed from some arbitrary angle. As we know, objects nearer appear bigger in the camera image and objects farther away appear smaller, thus, for a circle viewed from an angle, the nearer half will seem bigger in the image than the further half and thus, the real circle center is further away from us than one might think (since, for example, the nearer half takes 60%, the further half 40% of the area of the circle image, so the real circle center is at position 60%, while the center of gravity is always 50%).

This problem is discussed in this paper by Heikkila and my question now is: Is this circular center projection error considered and corrected in the calibration methods implemented in OpenCV? Or is it ignored, since the errors are somewhat small?

I'm writing my master thesis with camera calibration as a central topic and it would be very helpful for me to know the answer to this question!

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2016-07-14 10:12:55 -0500

dandur gravatar image

As I know cv::findCirclesGrid uses SimpleBlobDetector by default. This detector searches a center of a circle and not corrects perspective distortions. Further in function cv::findCirclesGrid input image or contours are not used. So, the answer to you question is now.

But, the interface of cv::findCirclesGrid function has detector parameter. That means you can write your own detector which corrects centers of circles.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-07-13 09:05:52 -0500

Seen: 905 times

Last updated: Jul 13 '16