modify signature of stereoCalibrate for consistency
This commit is contained in:
parent
11071dd241
commit
c5c3fd4443
@ -203,8 +203,8 @@ CV_EXPORTS_W double stereoCalibrate( InputArrayOfArrays objectPoints,
|
|||||||
InputOutputArray cameraMatrix1, InputOutputArray distCoeffs1,
|
InputOutputArray cameraMatrix1, InputOutputArray distCoeffs1,
|
||||||
InputOutputArray cameraMatrix2, InputOutputArray distCoeffs2,
|
InputOutputArray cameraMatrix2, InputOutputArray distCoeffs2,
|
||||||
Size imageSize, OutputArray R,OutputArray T, OutputArray E, OutputArray F,
|
Size imageSize, OutputArray R,OutputArray T, OutputArray E, OutputArray F,
|
||||||
TermCriteria criteria = TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 1e-6),
|
int flags = CALIB_FIX_INTRINSIC,
|
||||||
int flags = CALIB_FIX_INTRINSIC );
|
TermCriteria criteria = TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 1e-6) );
|
||||||
|
|
||||||
|
|
||||||
//! computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters
|
//! computes the rectification transformation for a stereo camera from its intrinsic and extrinsic parameters
|
||||||
|
@ -276,9 +276,9 @@ CVAPI(double) cvStereoCalibrate( const CvMat* object_points, const CvMat* image_
|
|||||||
CvMat* camera_matrix2, CvMat* dist_coeffs2,
|
CvMat* camera_matrix2, CvMat* dist_coeffs2,
|
||||||
CvSize image_size, CvMat* R, CvMat* T,
|
CvSize image_size, CvMat* R, CvMat* T,
|
||||||
CvMat* E CV_DEFAULT(0), CvMat* F CV_DEFAULT(0),
|
CvMat* E CV_DEFAULT(0), CvMat* F CV_DEFAULT(0),
|
||||||
|
int flags CV_DEFAULT(CV_CALIB_FIX_INTRINSIC),
|
||||||
CvTermCriteria term_crit CV_DEFAULT(cvTermCriteria(
|
CvTermCriteria term_crit CV_DEFAULT(cvTermCriteria(
|
||||||
CV_TERMCRIT_ITER+CV_TERMCRIT_EPS,30,1e-6)),
|
CV_TERMCRIT_ITER+CV_TERMCRIT_EPS,30,1e-6)) );
|
||||||
int flags CV_DEFAULT(CV_CALIB_FIX_INTRINSIC));
|
|
||||||
|
|
||||||
#define CV_CALIB_ZERO_DISPARITY 1024
|
#define CV_CALIB_ZERO_DISPARITY 1024
|
||||||
|
|
||||||
|
@ -1635,8 +1635,8 @@ double cvStereoCalibrate( const CvMat* _objectPoints, const CvMat* _imagePoints1
|
|||||||
CvMat* _cameraMatrix2, CvMat* _distCoeffs2,
|
CvMat* _cameraMatrix2, CvMat* _distCoeffs2,
|
||||||
CvSize imageSize, CvMat* matR, CvMat* matT,
|
CvSize imageSize, CvMat* matR, CvMat* matT,
|
||||||
CvMat* matE, CvMat* matF,
|
CvMat* matE, CvMat* matF,
|
||||||
CvTermCriteria termCrit,
|
int flags,
|
||||||
int flags )
|
CvTermCriteria termCrit )
|
||||||
{
|
{
|
||||||
const int NINTRINSIC = 16;
|
const int NINTRINSIC = 16;
|
||||||
Ptr<CvMat> npoints, err, J_LR, Je, Ji, imagePoints[2], objectPoints, RT0;
|
Ptr<CvMat> npoints, err, J_LR, Je, Ji, imagePoints[2], objectPoints, RT0;
|
||||||
@ -3278,8 +3278,8 @@ double cv::stereoCalibrate( InputArrayOfArrays _objectPoints,
|
|||||||
InputOutputArray _cameraMatrix1, InputOutputArray _distCoeffs1,
|
InputOutputArray _cameraMatrix1, InputOutputArray _distCoeffs1,
|
||||||
InputOutputArray _cameraMatrix2, InputOutputArray _distCoeffs2,
|
InputOutputArray _cameraMatrix2, InputOutputArray _distCoeffs2,
|
||||||
Size imageSize, OutputArray _Rmat, OutputArray _Tmat,
|
Size imageSize, OutputArray _Rmat, OutputArray _Tmat,
|
||||||
OutputArray _Emat, OutputArray _Fmat, TermCriteria criteria,
|
OutputArray _Emat, OutputArray _Fmat, int flags ,
|
||||||
int flags )
|
TermCriteria criteria)
|
||||||
{
|
{
|
||||||
int rtype = CV_64F;
|
int rtype = CV_64F;
|
||||||
Mat cameraMatrix1 = _cameraMatrix1.getMat();
|
Mat cameraMatrix1 = _cameraMatrix1.getMat();
|
||||||
@ -3322,7 +3322,7 @@ double cv::stereoCalibrate( InputArrayOfArrays _objectPoints,
|
|||||||
|
|
||||||
double err = cvStereoCalibrate(&c_objPt, &c_imgPt, &c_imgPt2, &c_npoints, &c_cameraMatrix1,
|
double err = cvStereoCalibrate(&c_objPt, &c_imgPt, &c_imgPt2, &c_npoints, &c_cameraMatrix1,
|
||||||
&c_distCoeffs1, &c_cameraMatrix2, &c_distCoeffs2, imageSize,
|
&c_distCoeffs1, &c_cameraMatrix2, &c_distCoeffs2, imageSize,
|
||||||
&c_matR, &c_matT, p_matE, p_matF, criteria, flags );
|
&c_matR, &c_matT, p_matE, p_matF, flags, criteria );
|
||||||
|
|
||||||
cameraMatrix1.copyTo(_cameraMatrix1);
|
cameraMatrix1.copyTo(_cameraMatrix1);
|
||||||
cameraMatrix2.copyTo(_cameraMatrix2);
|
cameraMatrix2.copyTo(_cameraMatrix2);
|
||||||
|
@ -1733,7 +1733,7 @@ double CV_StereoCalibrationTest_C::calibrateStereoCamera( const vector<vector<Po
|
|||||||
|
|
||||||
return cvStereoCalibrate(&_objPt, &_imgPt, &_imgPt2, &_npoints, &_cameraMatrix1,
|
return cvStereoCalibrate(&_objPt, &_imgPt, &_imgPt2, &_npoints, &_cameraMatrix1,
|
||||||
&_distCoeffs1, &_cameraMatrix2, &_distCoeffs2, imageSize,
|
&_distCoeffs1, &_cameraMatrix2, &_distCoeffs2, imageSize,
|
||||||
&matR, &matT, &matE, &matF, criteria, flags );
|
&matR, &matT, &matE, &matF, flags, criteria );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CV_StereoCalibrationTest_C::rectify( const Mat& cameraMatrix1, const Mat& distCoeffs1,
|
void CV_StereoCalibrationTest_C::rectify( const Mat& cameraMatrix1, const Mat& distCoeffs1,
|
||||||
@ -1830,7 +1830,7 @@ double CV_StereoCalibrationTest_CPP::calibrateStereoCamera( const vector<vector<
|
|||||||
{
|
{
|
||||||
return stereoCalibrate( objectPoints, imagePoints1, imagePoints2,
|
return stereoCalibrate( objectPoints, imagePoints1, imagePoints2,
|
||||||
cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2,
|
cameraMatrix1, distCoeffs1, cameraMatrix2, distCoeffs2,
|
||||||
imageSize, R, T, E, F, criteria, flags );
|
imageSize, R, T, E, F, flags, criteria );
|
||||||
}
|
}
|
||||||
|
|
||||||
void CV_StereoCalibrationTest_CPP::rectify( const Mat& cameraMatrix1, const Mat& distCoeffs1,
|
void CV_StereoCalibrationTest_CPP::rectify( const Mat& cameraMatrix1, const Mat& distCoeffs1,
|
||||||
|
@ -137,8 +137,8 @@ static bool run3Calibration( vector<vector<Point2f> > imagePoints1,
|
|||||||
double err = stereoCalibrate(objpt, imgpt, imgpt_right, cameraMatrix1, distCoeffs1,
|
double err = stereoCalibrate(objpt, imgpt, imgpt_right, cameraMatrix1, distCoeffs1,
|
||||||
cameraMatrix, distCoeffs,
|
cameraMatrix, distCoeffs,
|
||||||
imageSize, R, T, E, F,
|
imageSize, R, T, E, F,
|
||||||
TermCriteria(TermCriteria::COUNT, 30, 0),
|
CALIB_FIX_INTRINSIC,
|
||||||
CALIB_FIX_INTRINSIC);
|
TermCriteria(TermCriteria::COUNT, 30, 0));
|
||||||
printf("Pair (1,%d) calibration reprojection error = %g\n", c, sqrt(err/(N*2)));
|
printf("Pair (1,%d) calibration reprojection error = %g\n", c, sqrt(err/(N*2)));
|
||||||
if( c == 2 )
|
if( c == 2 )
|
||||||
{
|
{
|
||||||
|
@ -172,12 +172,12 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=
|
|||||||
cameraMatrix[0], distCoeffs[0],
|
cameraMatrix[0], distCoeffs[0],
|
||||||
cameraMatrix[1], distCoeffs[1],
|
cameraMatrix[1], distCoeffs[1],
|
||||||
imageSize, R, T, E, F,
|
imageSize, R, T, E, F,
|
||||||
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, 1e-5),
|
|
||||||
CALIB_FIX_ASPECT_RATIO +
|
CALIB_FIX_ASPECT_RATIO +
|
||||||
CALIB_ZERO_TANGENT_DIST +
|
CALIB_ZERO_TANGENT_DIST +
|
||||||
CALIB_SAME_FOCAL_LENGTH +
|
CALIB_SAME_FOCAL_LENGTH +
|
||||||
CALIB_RATIONAL_MODEL +
|
CALIB_RATIONAL_MODEL +
|
||||||
CALIB_FIX_K3 + CALIB_FIX_K4 + CALIB_FIX_K5);
|
CALIB_FIX_K3 + CALIB_FIX_K4 + CALIB_FIX_K5,
|
||||||
|
TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 100, 1e-5) );
|
||||||
cout << "done with RMS error=" << rms << endl;
|
cout << "done with RMS error=" << rms << endl;
|
||||||
|
|
||||||
// CALIBRATION QUALITY CHECK
|
// CALIBRATION QUALITY CHECK
|
||||||
|
Loading…
x
Reference in New Issue
Block a user