简单的相机校正

时间:2017-08-22 10:19:21

标签: c++ opencv camera-calibration distortion

目前,我使用棋盘图像并使用以下OpenCV功能进行相机校准:

cvFindChessboardCorners();
cvFindCornerSubPix();
cvCalibrateCamera2(...,intrinsic_matrix, distortion_coeffs,NULL,NULL,CV_CALIB_FIX_ASPECT_RATIO);

然后将得到的intrinsic_matrix和distortion_coeffs应用于相机图像:

initUndistortRectifyMap(intrinsic,distortion,cv::Mat(),                                      
                        getOptimalNewCameraMatrix(intrinsic,distortion,...),...);
warpPerspective()

这在这里很顺利。但现在我想做一个更简单的校准,其中只需要校正线性梯形(意味着空间)失真和可能的相机旋转。由摄像机光学引起的非线性失真可以忽略不计。

因此原则上只需要校正X,Y和Z安装角度附近的摄像机旋转值。知道如何做到这一点?我是否必须计算我自己的intrinsic_matrix和distortion_coeffs才能将它们应用到上面的函数中,还是OpenCV中还有其他函数来纠正这种失真?

0 个答案:

没有答案