Slam笔记-相机模型与坐标系转换

2020-09-21  本文已影响0人  郑海鹏

1. 物体在相机坐标系下的 「真实坐标」 到 「成像平面坐标」 的转换

下图是针孔相机模型的示意图:


设物体在相机坐标系下的坐标是 P_w = [X, Y, Z]^T ,根据相似三角形,有:
\frac{f}{Z}\ =\ \frac{X^{\ '}}{X}\ =\ \frac{Y^{\ '}}{Y}
X^{'}移动到左侧,有:
X^{'} = f \frac{X}{Z}, \ \ \ Y^{'} = f \frac{Y}{Z}
其中,[X^{'}, Y^{'}]^T 是相机坐标系下,物体在成像平面的坐标。


2. 成像平面的坐标 到 像素坐标系下的图像坐标的转化

在相机坐标系下,坐标的单位是米;在像素坐标系下,坐标的单位是像素。
通常我们把图像的左上角作为坐标系的原点。 所以同一个点,在相机坐标系和像素坐标系的坐标相差了一个缩放和原点的平移。
我们设 在水平/垂直方向上的缩放比例是 αβ,水平移动了 [c_x, c_y]^T,则物体的像素坐标 [μ, ν]^T 可以表示为:
μ = αX^{'} + c_x = αf\frac{X}{Z} + c_x
ν = αY^{'} + c_y = βf\frac{Y}{Z} + c_y
αf 设为 f_x, βf 设为 f_y,有:
μ = f_x\frac{X}{Z} + c_x
ν = f_y\frac{Y}{Z} + c_y


3. 归一化坐标

我们把相机坐标的 P_w 投影到归一化平面,得到归一化坐标:
P_c = [x, y, 1]^T = [\frac{X}{Z}, \frac{Y}{Z}, 1]
可得:
μ = f_x·x + c_x
ν = f_y·y + c_y


4. 畸变修正

由于相机存在径向畸变切向畸变,对于一个归一化平面上的点 [x, y]^T, 将其转为极坐标的形式 [r, θ]^T,可以用以下公式得到修正后的坐标 [x_distorted, y_distorted]:
x_{distorted} = x(1 + k_1r^2 + k_2r^4 + k_3r^6) + 2p_1xy + p_2(r^2 + 2x^2)
y_{distorted} = y(1 + k_1r^2 + k_2r^4 + k_3r^6) + p_1(x^2 + 2y^2) + 2p_2xy

结合上面的公式,可以得到,像素坐标与相机坐标的转化关系:
μ = f_x·x_{distorted} + c_x
ν = f_y·y_{distorted} + c_y

上一篇下一篇

猜你喜欢

热点阅读