问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

世界坐标系到像素坐标系的转换

创作时间:
作者:
@小白创作中心

世界坐标系到像素坐标系的转换

引用
CSDN
1.
https://m.blog.csdn.net/m0_53955985/article/details/141329817

坐标系类型

  • 世界坐标系:指的就是真实世界中的一个坐标系,单位是m,其中任意一点及其坐标表示为$P_w = [X_w, Y_w, Z_w]^T$
  • 相机坐标系:以光圈O为原点的右手坐标系(一般都是右手坐标系,当然也可以是左手),z轴一般与光轴重合(与成像平面垂直),单位为m,其中任意一点及其坐标表示为$P_c = [X_c, Y_c, Z_c]^T$
  • 图像物理坐标系:就是虚拟成像平面上的坐标系,是一个二维坐标系,原点在虚拟成像平面中心,单位是mm,相当于是用物理单位来描述像素的位置,其上任意一点的坐标可表示为$P = [x, y]^T$
  • 像素平面坐标系:就是最后的数字图像上的二维坐标系,一般坐标原点在图像的左上角,单位是像素,从图像物理坐标系到像素平面坐标系,存在一个缩放和平移,其上任意一点的坐标表示为$p = [u, v]^T$

世界坐标系到像素坐标系

1. 从世界坐标系转换到相机坐标系

二者处于同一空间,只是位置和方向不同,因此只需要旋转和平移操作。通过W2C外参矩阵完成,将世界坐标系中的点转换到相机坐标系中

假设世界坐标系中的点为$(X_w, Y_w, Z_w)$,相机坐标系中的点为$(X_c, Y_c, Z_c)$

$$
\text{W2C} = \begin{pmatrix}
R & T \
0 & 1
\end{pmatrix}
$$

其中:

  • $R$是3x3的旋转矩阵,描述相机的旋转
  • $T$是3x1的平移向量,描述相机在世界坐标系中的位置

转换过程如下:

$$
\begin{pmatrix}
X_c \
Y_c \
Z_c \
1
\end{pmatrix} = \text{W2C} \begin{pmatrix}
X_w \
Y_w \
Z_w \
1
\end{pmatrix}
$$

这一步完成后,得到了点在相机坐标系中的坐标$(X_c, Y_c, Z_c)$

2. 从相机坐标系转换到图像坐标系

  • $P$:世界坐标系中的一点
  • $O_{xy}$:图像坐标系,光心为图像中点
  • $p$:点$P$在图像中的成像点,在图像坐标系中为$(x, y)$,在像素坐标系中为$(u, v)$
  • $f$:相机焦距,$oO_c$的长度

接下来,通过透视投影将相机坐标系中的三维点投影到图像坐标系中

根据相似三角形可得出如下关系式:

$$
\frac{AB}{oC}=\frac{AO_c}{oO_c}=\frac{PB}{pC}=\frac{X_c}{x}=\frac{Z_c}{f}=\frac{Y_c}{y} \
x = f\frac{X_c}{Z_c}, \quad y = f\frac{Y_c}{Z_c}
$$

齐次坐标的表示:

$$
Z_c \begin{pmatrix}
x \
y \
1
\end{pmatrix} = \begin{pmatrix}
f & 0 & 0 & 0\
0 & f & 0 & 0\
0 & 0 & 1 & 0
\end{pmatrix} \begin{pmatrix}
X_c \
Y_c \
Z_c \
1
\end{pmatrix}
$$

❓为什么$\triangle ABO_c$和$\triangle PBO_c$不在一个平面,但是仍有等比关系

因为有一条公共边,所以二者的比例相同

3. 从图像坐标系到像素坐标系

像素坐标系和图像坐标系都在成像平面上,只是各自的原点和度量单位不一样。

  • 图像坐标系的原点为相机光轴与成像平面的交点,通常情况下是成像平面的中点
  • 像素坐标系的原点在成像平面的左上角

图像坐标系的单位是mm,是物理单位,而像素坐标系的单位是pixel,我们平常描述一个像素点都是几行几列。所以这两者之间的转换关系如下:

$$
u = \frac{x}{dx}+u_0 ,(1pixel=dxmm)\
v = \frac{y}{dy}+v_0,(1pixel=dymm)
$$

齐次坐标形式:

$$
\begin{pmatrix}
u \
v \
1
\end{pmatrix} = \begin{pmatrix}
\frac{1}{dx} & 0 & u_0 \
0 & \frac{1}{dy} & v_0 \
0 & 0 & 1
\end{pmatrix} \begin{pmatrix}
x \
y \
1
\end{pmatrix}
$$

4. 完整公式

将以上步骤结合在一起,可以得到从世界坐标系到图像坐标系的完整转换公式:

$$
Z_c \begin{pmatrix}
u \
v \
1
\end{pmatrix} = K \cdot \text{W2C} \cdot \begin{pmatrix}
X_w \
Y_w \
Z_w \
1
\end{pmatrix}
$$

相机内参矩阵通常表示为:

$$
K = \begin{pmatrix}
f_x & 0 & u_0 \
0 & f_y & v_0 \
0 & 0 & 1
\end{pmatrix}
$$

$Z_c$是该点在相机坐标系下的深度值,即从相机到该点的距离

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号