你好,我在cloudcompare上对点云进行了平移和旋转,并且保存成pcd格式,但是在我的代码中显示的时候坐标就没有变化,在cloudcompare中显示就有变化,请问是为什么呢,谢谢
您好,这个问题可能有以下几个原因:
- 保存pcd文件的时没有保存变换矩阵信息。pcd文件默认只会保存点云数据,不会保存进行的变换。如果需要保存,需要通过-A选项来保存变换矩阵。
- 读取pcd文件时没有应用变换矩阵。在pcd文件中变换矩阵是作为comments保存的,需要解析出来后进行应用。可以参考pcl库中的函数从pcd文件中读取变换矩阵信息。
- 变换没有应用到点云数据上。有时候我们通过设置变换矩阵,但没有通过变换函数将其应用到点云上,这时保存的是原始点云,自然不会反映出变换效果。需要确保进行了变换操作。
- 代码中变换矩阵应用顺序错误。需要根据变换的顺序正确的组合变换矩阵后再应用到点云上。
我建议可以先检查一下pcd文件中是否包含了变换矩阵的信息,如果包含那在读取点云时需要解析并应用该矩阵,如果没有的话就需要在保存时添加-A选项保存下变换矩阵,希望这些建议能帮助您解决问题。