Wide angle lenses calibration with Opencv

Josep Bosch picture Josep Bosch · Nov 21, 2013 · Viewed 9.7k times · Source

I'm using a wide-angle lens (178º Diagonal FOV ) and I'm trying to calibrate it properly using Opencv Calibration module. All the detection and calibration process are working fine, but the result is very poor.

I have tried many different configurations:

  • Different set of images
  • Different radial coefficient numbers: 2,3,4,5 even 6.(CV_CALIB_FIX_K1,...,CV_CALIB_FIX_K6 )
  • Fixing principal point and tangential disortion to 0 (CV_CALIB_FIX_ASPECT_RATIO, CV_CALIB_FIX_PRINCIPAL_POINT)
  • Using expected focal length as initial camera matrix. (CV_CALIB_USE_INTRINSIC_GUESS)

The best I can get is something like:Bad calibration

Any ideas about how could I get a good calibration? Do you think using two calibrattion patterns at the same time, or using a circles grid as calibration pattern would help?

I've seen in opencv 3.0 thin prism coeffs are added. I haven't tried it, but I don't think there will make a difference, right? Edit: Checked it... Nothing

Answer

Shmuel Fine picture Shmuel Fine · Aug 16, 2015

fisheye lenses have different distortion modelling. For calibrating a fisheye camera, use opencv fisheye module. See opnecv docs.