函数介绍

        用于双目相机的立体校正环节中,这里只谈谈这个函数怎么使用,参数具体指哪些

 

函数参数 

        随便去网上一搜或者看官方手册就能得到参数信息,但是!!相对关系非常容易出错!!

        这里详细解释一下这些参数究竟怎么用

void stereoRectify(InputArray cameraMatrix1, InputArray distCoeffs1, 
           InputArray cameraMatrix2,InputArray distCoeffs2, Size imageSize, 
           InputArray R, InputArray T,OutputArray R1, OutputArray R2, OutputArray P1, 
           OutputArray P2, OutputArray Q, int flags=CALIB_ZERO_DISPARITY, double alpha=-1, 
           Size newImageSize=Size(), Rect* validPixROI1=0, Rect* validPixROI2=0 )
  1. cameraMatrix1-第一个摄像机的摄像机矩阵,即左相机相机内参矩阵,矩阵第三行格式应该为 0 0 1
  2. distCoeffs1-第一个摄像机的畸变向量
  3. cameraMatrix2-第一个摄像机的摄像机矩阵,即右相机相机内参矩阵,矩阵第三行格式应该为 0 0 1
  4. distCoeffs2-第二个摄像机的畸变向量
  5. imageSize-图像大小
  6. R- 相机之间的旋转矩阵,这里R的意义是:相机1通过变换R到达相机2的位姿
  7. T-  左相机到右相机的平移矩阵
  8. R1-输出矩阵,第一个摄像机的校正变换矩阵(旋转变换)
  9. R2-输出矩阵,第二个摄像机的校正变换矩阵(旋转矩阵)
  10. P1-输出矩阵,第一个摄像机在新坐标系下的投影矩阵
  11. P2-输出矩阵,第二个摄像机在想坐标系下的投影矩阵
  12. Q-4*4的深度差异映射矩阵
  13. flags-可选的标志有两种零或者 CV_CALIB_ZERO_DISPARITY ,如果设置 CV_CALIB_ZERO_DISPARITY 的话,该函数会让两幅校正后的图像的主点有相同的像素坐标。否则该函数会水平或垂直的移动图像,以使得其有用的范围最大
  14. alpha-拉伸参数。如果设置为负或忽略,将不进行拉伸。如果设置为0,那么校正后图像只有有效的部分会被显示(没有黑色的部分),如果设置为1,那么就会显示整个图像。设置为0~1之间的某个值,其效果也居于两者之间。
  15. newImageSize-校正后的图像分辨率,默认为原分辨率大小。
  16. validPixROI1-可选的输出参数,Rect型数据。其内部的所有像素都有效
  17. validPixROI2-可选的输出参数,Rect型数据。其内部的所有像素都有效