{
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);
}
{
//! [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) {
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)