Calibrating FishEye Lenses with OpenCv 3.0

I need to calibrate my camera with a Fisheye lens.

I first used OpenCv 2.4 with the CV_CALIB_RATIONAL_MODEL flag to get the best results, but that wasn't enough. After that I saw that OpenCv 3.0 has a fisheye feature for calibration.

I am calculating my object points and getting my objects using findChessboardCorners () they seem to be correct.

My problem after, with fisheye :: calibrate . My return values ​​like reprocessing error, internal matrix and skewed coefficients are not correct. These are -nan values.

Does anyone know what I am doing wrong?

thank

+3


source to share


1 answer


For the new fisheye features of OpenCV 3.0, I found that I didn't get a useful internal calibration unless a flag was specified cv::fisheye::CALIB_RECOMPUTE_EXTRINSIC

(e.g. 38px reprogramming error). Also, I pointed out cv::fisheye::CALIB_FIX_SKEW

. Of course, you should specify as many flags cv::fisheye::CALIB_FIX_Kx

as you can.



For my lens, which is a very simple miniature lens but with a lot of radial distortion, OpenCV's normal straightening functions did not provide accurate fixes. I was able to get good results with the above flags and commit K2=K3=K4=0

.

+2


source







All Articles