Is this calibration result normal?

asked 2018-05-17 10:44:35 -0500

argos_rho gravatar image

updated 2018-05-18 10:22:10 -0500

I'm using camera_calibration.cpp to get camera matrix. I'm using these 13 images of chessboard patternimage description

The result looks a bit weird to me, but I'm not sure. It seems like the program undistorts image too much, the corners don't look right and stretch chessboard cells sometimes, here's the example(lower left corner): image description

Average reprojection error is 0.225. This is the result if I use first, second and fifth distortion coefficients, since I'm not calculating tangential distortion(i used this as a guide). If i use the first three, like in the default .xml file the result looks like this image description

My question is: is this normal? If it isn't then what might be the problem? My end goal is to use this camera and it's matrix for 3D reconstruction and I'm afraid wrong calibration will mess everything up. Also, can I use intrinstic parameters I get here to calculate fundamental matrix and rectify two images taken by the same camera?

edit retag flag offensive close merge delete

Comments

1

unfortunately, i think your result (though pretty bad) is "normal". calibrating cameras is hard and painful, and usually needs several attempts. though your rms looks ok, there might be other problems.

  • not enough images?
  • try with a pattern, that has more corners, https://github.com/opencv/opencv/blob...
  • make sure, you have the whole field of view covered (especially, the corners !)
  • the distance between camera and board seems very small. you'll have to use, what you're expecting later, when taking real world images to be rectified.
berak gravatar imageberak ( 2018-05-18 11:46:58 -0500 )edit