| 坐标 | 记号 | 意义 |
|---|
| 世界坐标 | Pw=(Xw,Yw,Zw)T | 描述场景几何,原点由任务选择 |
| 相机坐标 | Pc=(Xc,Yc,Zc)T | 以相机光心为参考,本文 z 轴朝前 |
| 像素坐标 | (u,v) | 图像中的横、纵位置,单位为像素 |
本文采用常见相机投影约定:相机 x 向右、y 向下、z 向前。其他机器人或图形库可能不同,必须显式转换,不靠字母名称推断。

定义 Rcw 和 tcw 将世界坐标变到相机坐标:
Pc=RcwPw+tcw.
R 是旋转矩阵,满足 RTR=I、detR=1;t 与三维点使用相同长度单位。相机在世界中的位置不是一般意义上的 t,而是:
Cw=−RcwTtcw,
因为把相机光心代入时 Pc=0。反向变换是 Pw=RcwT(Pc−tcw)。
针孔模型利用相似三角形,先得到归一化成像坐标:
xn=Xc/Zc,yn=Yc/Zc.
这里要求深度不为零;本文朝前约定下,可见的前方点通常满足 Zc>0。不同深度但位于同一条光线上的点可投影到相同像素,所以单个像素不能唯一恢复三维位置。
忽略像素轴斜切,内参矩阵为:
K=fx000fy0cxcy1,u=fxxn+cx,v=fyyn+cy.
fx,fy 以像素为单位,(cx,cy) 是主点;主点并不必然等于图像几何中心。合并三步:
Zcuv1=K[Rcw∣tcw][Pw1].
这个等式使用理想针孔模型。真实镜头还需要考虑径向/切向等畸变;应先约定输入点是否已去畸变,再使用投影公式。OpenCV 成像与标定模型
相机点 (1,0,5)、fx=fy=800、主点 (320,240),得到 u=800/5+320=480、v=240。长度同时从米改为毫米时,Xc/Zc 不变;混用单位则会使外参和点的位置不一致。