图例说明 (可拖拽)
原始 3D 点云
Depth 相机 (红)
RGB 相机 (蓝)
着色后的点云
RGB 相机采集结果预览

3D 相机点云与彩色相机对齐及着色过程

背景:在 3D 扫描中,深度相机(Depth Camera)负责获取物体的三维点云数据,而彩色相机(RGB Camera)负责获取物体的纹理和颜色。由于两个相机的物理位置不同,视角也不同,我们需要通过数学变换将它们对齐。

思路梳理

1. RGB 相机得到 2D 图像;Depth 相机得到深度数据,并转成点云。
2. 把点云从 Depth 相机坐标系,变换到 RGB 相机坐标系。
3. 在 RGB 相机坐标系里,把 3D 点投影到 RGB 图像上取颜色,再把颜色写回点云。

步骤 0: 初始状态 (数据获取)

RGB 相机负责获取 2D 图像,Depth 相机负责获取深度数据。

深度数据会进一步转换成 3D 点云,初始位于 Depth 相机(红色模型)的坐标系中。

步骤 1: 外参变换 (Extrinsic Transformation)

因为两台相机的位置和朝向不同,所以要先把点云从 Depth 相机坐标系变换到 RGB 相机坐标系。

这一步使用两台相机之间的外参,也就是旋转矩阵 R 和平移向量 T:

P_color = R · P_depth + T

画面里看起来像是点云被搬到了蓝色相机这边,本质上是在做坐标系转换。

步骤 2: 着色 (Color Sampling)

点云到了 RGB 相机坐标系后,就可以直接用 RGB 相机的投影模型算出每个点对应的像素位置。

[u, v, 1]^T = (1 / Z_color) · K · P_color

根据像素坐标 (u, v) 去 RGB 图像取颜色,再把颜色写回 3D 点,白色点云就会变成彩色点云。

点云密度
-