Commit c2caea48 authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

Merge pull request #5409 from kauevestena:patch-1

parents 34e4e66b 1bd18836
...@@ -56,7 +56,7 @@ static int print_help() ...@@ -56,7 +56,7 @@ static int print_help()
static void static void
StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=true, bool showRectified=true) StereoCalib(const vector<string>& imagelist, Size boardSize,bool displayCorners = false, bool useCalibrated=true, bool showRectified=true)
{ {
if( imagelist.size() % 2 != 0 ) if( imagelist.size() % 2 != 0 )
{ {
...@@ -64,7 +64,6 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated= ...@@ -64,7 +64,6 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=
return; return;
} }
bool displayCorners = false;//true;
const int maxScale = 2; const int maxScale = 2;
const float squareSize = 1.f; // Set this to your actual square size const float squareSize = 1.f; // Set this to your actual square size
// ARRAY AND VECTOR STORAGE: // ARRAY AND VECTOR STORAGE:
...@@ -165,8 +164,8 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated= ...@@ -165,8 +164,8 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=
cout << "Running stereo calibration ...\n"; cout << "Running stereo calibration ...\n";
Mat cameraMatrix[2], distCoeffs[2]; Mat cameraMatrix[2], distCoeffs[2];
cameraMatrix[0] = Mat::eye(3, 3, CV_64F); cameraMatrix[0] = initCameraMatrix2D(objectPoints,imagePoints[0],imageSize,0);
cameraMatrix[1] = Mat::eye(3, 3, CV_64F); cameraMatrix[1] = initCameraMatrix2D(objectPoints,imagePoints[1],imageSize,0);
Mat R, T, E, F; Mat R, T, E, F;
double rms = stereoCalibrate(objectPoints, imagePoints[0], imagePoints[1], double rms = stereoCalibrate(objectPoints, imagePoints[0], imagePoints[1],
...@@ -175,6 +174,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated= ...@@ -175,6 +174,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=
imageSize, R, T, E, F, imageSize, R, T, E, F,
CALIB_FIX_ASPECT_RATIO + CALIB_FIX_ASPECT_RATIO +
CALIB_ZERO_TANGENT_DIST + CALIB_ZERO_TANGENT_DIST +
CALIB_USE_INTRINSIC_GUESS +
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,
...@@ -209,7 +209,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated= ...@@ -209,7 +209,7 @@ StereoCalib(const vector<string>& imagelist, Size boardSize, bool useCalibrated=
} }
npoints += npt; npoints += npt;
} }
cout << "average reprojection err = " << err/npoints << endl; cout << "average epipolar err = " << err/npoints << endl;
// save intrinsic parameters // save intrinsic parameters
FileStorage fs("../data/intrinsics.yml", FileStorage::WRITE); FileStorage fs("../data/intrinsics.yml", FileStorage::WRITE);
...@@ -399,6 +399,6 @@ int main(int argc, char** argv) ...@@ -399,6 +399,6 @@ int main(int argc, char** argv)
return print_help(); return print_help();
} }
StereoCalib(imagelist, boardSize, true, showRectified); StereoCalib(imagelist, boardSize,false, true, showRectified);
return 0; return 0;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment