在MATLAB立体声参数和OpenCV stereoRectify立体声校准之间进行转换
问题描述:
我希望将MATLAB stereoParameters结构转换为在OpenCV的stereoRectify中使用的内在和外部矩阵。在MATLAB立体声参数和OpenCV stereoRectify立体声校准之间进行转换
如果我理解http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html和http://mathworks.com/help/vision/ref/stereoparameters-class.html,stereoParameters.CameraParameters1和stereoParameters.CameraParameters2存储固有矩阵,而stereoParameters的其他成员存储外部矩阵。
我觉得我得到了这个映射
内部函数:
- cameraMatrix1 = stereoParameters.CameraParameters1.IntrinsicMatrix '
- cameraMatrix2 = stereoParameters.CameraParameters2.IntrinsicMatrix'
- distCoeffs1 = [stereoParameters.CameraParameters1 .RadialDistortion(1:2),stereoParameters.CameraParameters1.TangentialDistortion,stereoParameters.CameraParameters1.RadialDistortion(3)]
- distCoeffs2 = [stereoParameters.CameraParameters2.RadialDistortion(1:2),stereoParameters.CameraParameters2.TangentialDistortion,stereoParameters.CameraParameters2.RadialDistortion(3)]
外部参数:
- R = stereoParameters.RotationOfCamera2 '
- T = stereoParameters.TranslationOfCamera2'
那是正确的,那么远?
不过,我看不出如何让
- R1(3×3)
- R2(3×3)
- P1(3×4)
- P2(3×4)
- Q( 4×4)
来自立体参数其余部分的矩阵。
是否有一个现有的转换器我可以使用,如果没有,是什么公式?
答
https://stackoverflow.com/a/28317841得到式为Q矩阵:
,Tx是从矩阵T. CX,CY和CX”是从摄像机矩阵。 f是它们的x和y焦距的一些合理组合。
虽然不知道如何获得P1,P2,R1和R2。任何人?
我在http://stackoverflow.com/a/28317841找到了Q的公式。 – Gnubie