StereoCalibration RMS Problem
Hi guys,
I have a strange Problem. I want to calibrate a vertical stereo camera system.
First I calibrate each camera individually
double rms = calibrateCamera(xObjektPoints, xImageCam1, Size(3000,4000), intrinsic, distCoeffs[0], rvecs1, tvecs1, CV_CALIB_USE_INTRINSIC_GUESS + CV_CALIB_ZERO_TANGENT_DIST);
double rms2 = calibrateCamera(xObjektPoints, xImageCam2, Size(3000, 4000), intrinsic2, distCoeffs[1], rvecs2, tvecs2, CV_CALIB_USE_INTRINSIC_GUESS + CV_CALIB_ZERO_TANGENT_DIST);
The RMS are 0,21 and 0,23...thats okay...but now I use stereoCalibrate and the RMS is 24
double rms3 = stereoCalibrate(xObjektPoints, xImageCam1, xImageCam2,
intrinsic, distCoeffs[0],
intrinsic2, distCoeffs[1],
Size(3000, 4000), R, T, E, F,
TermCriteria(CV_TERMCRIT_ITER + CV_TERMCRIT_EPS, 100, 1e-5)
);
Can someone help me?
Thanks
For
calibrateCamera
, you passedCV_CALIB_USE_INTRINSIC_GUESS
that means that you know approximatively the camera intrinsic matrices.If you do know them, you should pass the same flags to
stereoCalibrate
.Another solution is to calibrate each camera individually and use the
CV_CALIB_FIX_INTRINSIC
flag forstereoCalibrate
.PS: if you don't know the signification of the flags you used, take a look at the documentation.
Thanks for your help.... yes I forgot the flag
CV_CALIB_USE_INTRINSIC_GUESS
but my great fault was that I reversed two calibration Images :DNow everything fits....thank you