我在理解cvUndistortpoints中的新相机矩阵时遇到了问题。我们在立体声校准中获得了相机的相机,以及为什么我们必须在cvstereorectify中传递一个新的相机矩阵,这是我们从cvundistortpoints获得的。 cvUndistortPoints输出后,相机matix如何与相机矩阵不同...
void cvUndistortPoints(const CvMat* src, CvMat* dst, const CvMat*
cameraMatrix, const CvMat* distCoeffs, const CvMat* R=NULL, const
CvMat* P=NULL)
答案 0 :(得分:3)
在单目相机的情况下,newCameraMatrix通常等于cameraMatrix,或者可以通过GetOptimalNewCameraMatrix计算,以便更好地控制缩放。
答案 1 :(得分:1)
答案是您提供的文档中的一页。 P由StereoRectify提供给你。
以下是opencvrefman.pdf中关于unistort的说法,我的朋友,你也应该阅读它:
newCameraMatrix - 扭曲图像的相机矩阵。默认情况下,它 与cameraMatrix相同,但您可以另外缩放和移位 结果使用不同的矩阵。
现在,我对此很陌生,并且还没有机会使用StereoRectify功能,但我猜你可能想要将图像无效,看起来像是不同的相机会看到的。