首页 > 解决方案 > 在 cv2.stereoCalibrate 中选择什么相机作为原点?

问题描述

我正在尝试校准两个立体相机,当我使用 cv.stereoCalibrate 时,它​​给了我一个 3 x 3 旋转矩阵和一个 1 x 3 平移向量。但我不确定这里选择哪台相机作为原点。本质上,翻译向量是否描述了从摄像机 2 或摄像机 2 到摄像机 1 的摄像机 1 的翻译。我觉得文档缺少一些细节。

文档(搜索“stereoCalibrate”)

标签: opencvcomputer-visionstereo-3d

解决方案


文档说:

R输出旋转矩阵。与平移向量 T 一起,该矩阵将在第一台摄像机坐标系中给出的点带到第二台摄像机坐标系中的点。用更专业的术语来说,R 和 T 的元组执行从第一个相机坐标系到第二个相机坐标系的基础变化。由于它的对偶性,这个元组相当于第一台摄像机相对于第二台摄像机坐标系的位置。

换句话说,输出 (R, T) 对描述了坐标变换,使得给定一个 3D 点 p 及其分解 p_1 在相机 1 的坐标中,p_2 在相机 2 的坐标中,它是:

p_2 = R * p_1 + T 

R的列纵坐标为Camera 1坐标系在Camera 2坐标系中分解的X、Y、Z单位向量,T为Camera 1坐标系中Camera 2坐标系的中心位置。


推荐阅读