Ric*_*ard 4 python opencv computer-vision coordinates stereo-3d
我正在研究使用一对立体图像来计算场景中对象的现实世界坐标。这些图像是完美针孔相机的模拟,因此没有需要校正的失真,也没有旋转。我知道 OpenCV 有一堆函数来校准立体相机和创建视差图,但如果我只想计算一个点的坐标,有没有一种简单的方法可以做到这一点?
1)没有旋转的情况,仅平行于图像平面的水平轴平移,具有相同焦距的相机。
用“f”表示公共焦距。用“b”表示立体对的基线,即相机光学中心之间的距离。给定一个 3D 点 P,在两个相机中在水平图像坐标 x_left 和 x_right 处可见,用“d”表示它们的视差,即差值 d = x_left - x_right。
根据初等几何,可以得出 P 在左相机坐标中的深度 z_left 为:
z_left = b * f / d。
2)任何其他情况(焦距不等、其他内在参数差异、非线性镜头畸变、相机间旋转、不平行于x轴的平移等):
别费心了,用OpenCV,