Reputation: 6193
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
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
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