Skip to content

附录 B · 坐标系与变换公式

B.1 坐标系

像素坐标系 (u, v):
  原点: 左上角 (0, 0)
  u = 列/宽 (向右为正)
  v = 行/高 (向下为正)

相机坐标系 (X, Y, Z):
  原点: 相机光心
  Z: 光轴方向(向前为正)
  X: 向右
  Y: 向下

世界坐标系 (Xw, Yw, Zw):
  任意选取的参考坐标系

B.2 内参矩阵

K = | fx   0  cx |
    |  0  fy  cy |
    |  0   0   1 |

fx = f / dx  (焦距/像素宽 = 焦距像素单位)
fy = f / dy
cx = 主点 x
cy = 主点 y
f  = 焦距(物理单位,mm)
dx, dy = 像素物理尺寸

B.3 外参矩阵

外参 = [R | t]

R: 3×3 旋转矩阵(世界→相机)
t: 3×1 平移向量(世界原点→相机光心)

[Xc]   [R | t] [Xw]
[Yc] =        × [Yw]
[Zc]              [Zw]
[ 1 ]              [ 1 ]

B.4 投影公式

世界点 Pw = (Xw, Yw, Zw) → 相机点 Pc = (Xc, Yc, Zc) → 像素点 p = (u, v)

1. 世界→相机坐标:
   Pc = R × Pw + t

2. 透视投影:
   x = Xc / Zc
   y = Yc / Zc

3. 像素坐标:
   u = fx × x + cx = fx × Xc/Zc + cx
   v = fy × y + cy = fy × Yc/Zc + cy

矩阵形式:
   [u]   [fx  0  cx] [R|t] [Xw]
   [v] = [ 0  fy  cy] ×     × [Yw]
   [1]   [ 0  0   1] [ 1 ]  [Zw]
                          [ 1 ]

B.5 畸变模型

径向畸变

x_distorted = x (1 + k1·r² + k2·r⁴ + k3·r⁶)
y_distorted = y (1 + k1·r² + k2·r⁴ + k3·r⁶)
其中 r² = x² + y²

切向畸变

x_distorted = x + [2p1·xy + p2(r² + 2x²)]
y_distorted = y + [p1(r² + 2y²) + 2p2·xy]

B.6 旋转向量 ↔ 旋转矩阵(罗德里格斯公式)

旋转向量 r = (rx, ry, rz), θ = ||r||

R = I + sin(θ)K + (1-cos(θ))K²

K = |  0  -rz  ry |
    |  rz   0  -rx |
    | -ry  rx   0 |

B.7 单应性矩阵(Homography)

H = [h11 h12 h13]
    [h21 h22 h23]
    [h31 h32 h33]

[x']   [h11 h12 h13] [x]
[y'] = [h21 h22 h23] [y]
[w']   [h31 h32 h33] [1]

u = x' / w'
v = y' / w'

需要至少 4 组点对求解(最小 4 点)

B.8 基础矩阵与极线

F: 基础矩阵 (3×3, 秩=2)
p2^T × F × p1 = 0  (对极约束)

l = F × p  (对极线方程)

本质矩阵 E = K^T × F × K

B.9 Q 矩阵(深度→3D)

Q = | 1  0  0 -cx |
    | 0  1  0 -cy |
    | 0  0  0  f  |
    | 0  0 -1/T  0 |

[x]     [Q] [u]
[y]  =  [ ] [v]
[z]     [ ] [d]  (视差)
[1]     [ ] [1]

其中 d = 视差 = x_left - x_right