从 .ply 格式转换为 .pcd 格式

Converting from .ply to .pcd format

我有一个 .ply 文件,我想将它转换为 .pcd 格式,但不确定如何。

我已经尝试了此处操作员描述的方法 ,但它们 sufficient/doesn 不再起作用了。

当我尝试打开 .ply 文件时,它只是一个二进制文件,除了 header 看起来像这样:

ply
format binary_little_endian 1.0
comment generated by Cartographer
element vertex 000000207134849
property float x
property float y
property float z
property uchar red
property uchar green
property uchar blue
property float intensity
end_header
bf/B¿ğBè)¿...
...

因此我不知道从哪里开始转换。

如何转换?

任何 method/doc 都会很有帮助

更新:我现在有了一个有效的解决方案,因此可以回答我的问题。

我发现这个 https://github.com/ryanfb/pcl-tools github 存储库有一个非常方便的工具,叫做 ply2pcd

所以 基本上执行以下操作 以将 .ply 格式转换为 .pcd

git clone https://github.com/ryanfb/pcl-tools 
cmake . 
make 
cd pcl-tools 
chmod +x ply2pcd 
./ply2pcd "path/target.ply" "path/out.pcd"

注意:您至少需要与 .ply 文件大小一样多的 RAM

另一种选择是使用 Open3D library,如下所述:

import open3d as o3d
pcd = o3d.io.read_point_cloud("source_pointcloud.ply")
o3d.io.write_point_cloud("sink_pointcloud.pcd", pcd)

我没试过,但 Ubuntu 发行版中似乎有一些东西可能正在做 sudo apt install pcl-tools: