逆图像投影:相机转世界坐标的t向量操作与手动t有效性咨询
逆图像投影:相机坐标转世界坐标的坐标变换疑问
现有可用信息
- 目标图像坐标:
(u, v, 1) - 欧拉角转换得到的旋转矩阵
R - 相机与GNSS接收机间距离的平移向量
t - 相机内参矩阵
K、GNSS位置
已完成步骤
已将图像坐标转换为相机坐标(Xc, Yc, Zc),计算方式:
λ * [Xc, Yc, Zc]^T = K^(-1) * [u, v, 1]^T
核心疑问与解答
1. 相机坐标转世界坐标的公式选择
首先明确外参矩阵[R | t]的标准定义:世界坐标到相机坐标的变换公式为:
[Xc, Yc, Zc]^T = R * [X, Y, Z]^T + t
这里的t表示世界坐标系原点在相机坐标系下的位置。
逆推相机坐标转世界坐标,整理后得到标准公式:
[X, Y, Z]^T = R^(-1) * ([Xc, Yc, Zc]^T - t)
这就是文档中“通常减t”的原因。
但如果你手里的t定义是相机坐标系原点在世界坐标系(GNSS为原点)下的位置(即手动测量的相机到GNSS的平移向量),那此时世界原点在相机系的位置为-t,代入逆变换公式后会得到:
[X, Y, Z]^T = R^(-1) * [Xc, Yc, Zc]^T + t
这时候就会出现“加t”的情况。
结论:选择加还是减t,完全取决于你手里t的定义:
- 若
t是「世界原点在相机系的位置」:用减t的公式 - 若
t是「相机原点在世界系的位置」:用加t的公式 - 绝对不能用乘t的公式,这是概念错误,坐标系变换只有旋转和平移(加减)操作,没有乘法。
2. 手动测量t与solvePnP生成t的选择
- 手动测量t:如果是用高精度设备(如激光测距仪、标定板精确测量)得到的相机与GNSS的相对位置,且明确了
t的坐标系定义,是可以使用的,但手动测量容易引入误差,且无法保证和旋转矩阵R的一致性。 - solvePnP生成的t:这是通过标定板(已知世界坐标的特征点)求解得到的外参,和旋转矩阵
R是配套的,且精度远高于手动测量,完全符合外参t的标准定义(世界原点在相机系的位置),建议优先使用solvePnP的结果,避免手动测量的误差导致坐标转换出错。
内容的提问来源于stack exchange,提问作者Ellee
相关产品推荐
相关产品推荐

