1

我有一些在 Meshlab 中对齐的点云。我有一个用(不同的)相机为每个点云拍摄的彩色图像。我想使用彩色图像将纹理叠加到融合点云上。我有深度和彩色相机的校准信息以及这两个坐标系之间的转换(我们称之为矩阵 R)。

为了融合不同的点云,我使用了泊松重建滤波器。然后我保存项目。我的目标是修改 .mlp 文件,以便 VCGCamera 参数反映每个点云的彩色相机视图。

这是我到目前为止所做的:

  1. 对于每个点云,从 .mlp 文件中获取转换矩阵(我们称之为 M)

  2. 使用变换R通过(M2 = R*M)将点云变换到彩色相机坐标系

  3. 将 M2 乘以以下矩阵 [1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1],因为 Meshlab 对 y 和 z 的定义不同。

  4. 从 3 转置矩阵

  5. 使用4中的矩阵作为VCGCamera参数中的旋转矩阵

  6. 使用我从矩阵 3 得到的负平移作为 VCGCamera 参数中的平移

  7. 从校准中设置内在参数

出于某种原因,我没有得到很好的颜色叠加。我的逻辑有问题吗?我有数学错误吗?

我还注意到 Meshlab 期望中心像素是图像大小 - 来自校准的中心像素。不知道为什么。我也不确定失真系数应该是什么单位。我尝试了标准化单位,这是我的校准程序产生的,但这似乎过于正确。

4

0 回答 0