mirror of
https://github.com/opencv/opencv.git
synced 2025-06-08 01:53:19 +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();
|
Mat temp = view.clone();
|
||||||
if (s.useFisheye)
|
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
|
else
|
||||||
undistort(temp, view, cameraMatrix, distCoeffs);
|
undistort(temp, view, cameraMatrix, distCoeffs);
|
||||||
}
|
}
|
||||||
@ -519,7 +524,7 @@ static bool runCalibration( Settings& s, Size& imageSize, Mat& cameraMatrix, Mat
|
|||||||
{
|
{
|
||||||
//! [fixed_aspect]
|
//! [fixed_aspect]
|
||||||
cameraMatrix = Mat::eye(3, 3, CV_64F);
|
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;
|
cameraMatrix.at<double>(0,0) = s.aspectRatio;
|
||||||
//! [fixed_aspect]
|
//! [fixed_aspect]
|
||||||
if (s.useFisheye) {
|
if (s.useFisheye) {
|
||||||
@ -586,7 +591,7 @@ static void saveCameraParams( Settings& s, Size& imageSize, Mat& cameraMatrix, M
|
|||||||
fs << "board_height" << s.boardSize.height;
|
fs << "board_height" << s.boardSize.height;
|
||||||
fs << "square_size" << s.squareSize;
|
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;
|
fs << "fix_aspect_ratio" << s.aspectRatio;
|
||||||
|
|
||||||
if (s.flag)
|
if (s.flag)
|
||||||
|
Loading…
Reference in New Issue
Block a user