矫正后左右图像主点x坐标相差较大

The difference of the principal point x coordinates in right and left images after rectification is large

立体成像校正后的左右图像主点x坐标之差约为10。基线长度为10mm。左右图像的分辨率为 800x600。

设置上的差异不是很大吗?什么原因可能造成这种差异?

《Learning OpenCV》一书中只写到主光线相交于无穷远时差为0,并没有说明原因。

编辑: Cx 应等于 Cx'。

在您添加的符号中,您指的是 Stereorectify() 生成的 Q 矩阵。 As the documentation says

where T_x is a horizontal shift between the cameras and cx_1=cx_2 if CV_CALIB_ZERO_DISPARITY is set.

所以你可以强制两个参数与适当的标志相等,但原因可以在两个相机之间的角度中找回。

cx = cy 当 2 个图像平面共面时(主光线相交于无穷远 = 主光线平行)。在这种情况下, Z = f*T/d

如果主光线会聚,W增加项 (cx -cx')/T 因此,即使差异 d 等于零,该点也不会映射到无穷远。