我有一些在 Meshlab 中对齐的点云。我有一个用(不同的)相机为每个点云拍摄的彩色图像。我想使用彩色图像将纹理叠加到融合点云上。我有深度和彩色相机的校准信息以及这两个坐标系之间的转换(我们称之为矩阵 R)。
为了融合不同的点云,我使用了泊松重建滤波器。然后我保存项目。我的目标是修改 .mlp 文件,以便 VCGCamera 参数反映每个点云的彩色相机视图。
这是我到目前为止所做的:
对于每个点云,从 .mlp 文件中获取转换矩阵(我们称之为 M)
使用变换R通过(M2 = R*M)将点云变换到彩色相机坐标系
将 M2 乘以以下矩阵 [1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1],因为 Meshlab 对 y 和 z 的定义不同。
从 3 转置矩阵
使用4中的矩阵作为VCGCamera参数中的旋转矩阵
使用我从矩阵 3 得到的负平移作为 VCGCamera 参数中的平移
从校准中设置内在参数
出于某种原因,我没有得到很好的颜色叠加。我的逻辑有问题吗?我有数学错误吗?
我还注意到 Meshlab 期望中心像素是图像大小 - 来自校准的中心像素。不知道为什么。我也不确定失真系数应该是什么单位。我尝试了标准化单位,这是我的校准程序产生的,但这似乎过于正确。