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
source to share
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
.
source to share