Python 如何将open3d几何体点云输出为.pcd文件?

Python 如何将open3d几何体点云输出为.pcd文件?,python,point-clouds,lidar,open3d,Python,Point Clouds,Lidar,Open3d,我正在使用以下代码将激光雷达数据(以.bin格式)转换为.pcd格式 with open ("lidar_velodyne64.bin", "rb") as f: byte = f.read(size_float*4) while byte: x,y,z,intensity = struct.unpack("ffff", byte) list_pcd.append([x, y, z]) byte = f.read(size_floa

我正在使用以下代码将激光雷达数据(以.bin格式)转换为.pcd格式

with open ("lidar_velodyne64.bin", "rb") as f:
    byte = f.read(size_float*4)
    while byte:
        x,y,z,intensity = struct.unpack("ffff", byte)
        list_pcd.append([x, y, z])
        byte = f.read(size_float*4)
np_pcd = np.asarray(list_pcd)
pcd = o3d.geometry.PointCloud()
v3d = o3d.utility.Vector3dVector
pcd.points = v3d(np_pcd)
并尝试将“pcd”输出为.pcd文件:

with open("pcd_output.pcd", "wb") as pcd2:
    pickle.dump(pcd,pcd2)
但是,我得到了以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-16-cde8b419d929> in <module>
      1 with open("pcd_output.pcd", "wb") as pcd2:
----> 2     pickle.dump(pcd,pcd2)

TypeError: can't pickle open3d.open3d.geometry.PointCloud objects
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
1打开(“pcd_output.pcd”、“wb”)作为pcd2:
---->2酸洗倾倒区(pcd、pcd2)
TypeError:无法pickle open3d.open3d.geometry.PointCloud对象

如何将open3d几何体点云输出为.pcd文件?

您是否尝试过默认功能

根据示例,您可以按如下方式使用它:

import open3d as o3d
o3d.io.write_point_cloud("copy_of_fragment.pcd", pcd)