Elmi
Elmi

Reputation: 6193

OpenCV camera calibration - general understanding of working principle

I'm playing around with camera calibration based on the code from http://dsynflo.blogspot.de/2010/03/camera-calibration-using-opencv.html

This generates an intrinsic matrix and distortion coefficients as well as corner points, shows them in the images and then shows the original raw image and the undistorted image.

And the last point makes me a bit helpless: there is nearly no difference between raw and undistorted corrected) image. I would have assumed the undistorted image shows something that is close to the original checkerboard, means no more foreshorten squares but plain 90 degrees angles and more or less exact squares. Instead of this only marginal changes can be seen. So: is this a bug in the example implementation from that Blog, is it a nug in OpenCV or is that the intended result?

Upvotes: 2

Views: 6813

Answers (2)

Tobias Gurdan
Tobias Gurdan

Reputation: 124

This is an often discussed procedure. I highly recommend this tutorial, as already mentioned in this thread. Understanding the underlying techniques is often key in finding bugs and why things don't work as expected. Take a look at some tutorials until you are familiar with the concepts and everything suddenly falls in place ;) Good luck!

Upvotes: 3

Martin Beckett
Martin Beckett

Reputation: 96119

The undistort only corrects the features which stop the lens being a perfect pinhole (ie optical distortions) perspective effects still occur in a perfect lens and so aren't removed.

Creating a flat view (birds eye projection) of the imaged scene is part of the capabilities of opencv but needs more steps - you need a 3D model of the actual position of the objects.

Upvotes: 5

Related Questions