mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Merge pull request #19690 from hedgepigdaniel:fix/calibration_fisheye
* fix(samples/camera_calibration): set new camera matrix for fisheye * fix(camera_calibration): ignore inapplicable flags for fisheye
This commit is contained in:
parent
6c9be1bc1d
commit
65b51e1538
@ -391,7 +391,12 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
Mat temp = view.clone();
|
||||
if (s.useFisheye)
|
||||
cv::fisheye::undistortImage(temp, view, cameraMatrix, distCoeffs);
|
||||
{
|
||||
Mat newCamMat;
|
||||
fisheye::estimateNewCameraMatrixForUndistortRectify(cameraMatrix, distCoeffs, imageSize,
|
||||
Matx33d::eye(), newCamMat, 1);
|
||||
cv::fisheye::undistortImage(temp, view, cameraMatrix, distCoeffs, newCamMat);
|
||||
}
|
||||
else
|
||||
undistort(temp, view, cameraMatrix, distCoeffs);
|
||||
}
|
||||
@ -519,7 +524,7 @@ static bool runCalibration( Settings& s, Size& imageSize, Mat& cameraMatrix, Mat
|
||||
{
|
||||
//! [fixed_aspect]
|
||||
cameraMatrix = Mat::eye(3, 3, CV_64F);
|
||||
if( s.flag & CALIB_FIX_ASPECT_RATIO )
|
||||
if( !s.useFisheye && s.flag & CALIB_FIX_ASPECT_RATIO )
|
||||
cameraMatrix.at<double>(0,0) = s.aspectRatio;
|
||||
//! [fixed_aspect]
|
||||
if (s.useFisheye) {
|
||||
@ -586,7 +591,7 @@ static void saveCameraParams( Settings& s, Size& imageSize, Mat& cameraMatrix, M
|
||||
fs << "board_height" << s.boardSize.height;
|
||||
fs << "square_size" << s.squareSize;
|
||||
|
||||
if( s.flag & CALIB_FIX_ASPECT_RATIO )
|
||||
if( !s.useFisheye && s.flag & CALIB_FIX_ASPECT_RATIO )
|
||||
fs << "fix_aspect_ratio" << s.aspectRatio;
|
||||
|
||||
if (s.flag)
|
||||
|
Loading…
Reference in New Issue
Block a user