OpenCV如何正确使用stereoRectify函数

函数介绍

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

 

函数参数 

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

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

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型数据。其内部的所有像素都有效

 

 

 

 

你可能感兴趣的:(OpenCV)