import open3d as o3d
#---------------读取-------------------#
pcd = o3d.t.io.read_point_cloud("name.pcd")
pcd_intensity = pcd.point["intensity"] #强度
pcd_points = pcd.point["positions"] #坐标
pcd_intensity = pcd_intensity[:, :].numpy() # 转换为数组类型
pcd_points = pcd_points[:, :].numpy() # 转换为数组类型
#---------------生成-------------------#
device = o3d.core.Device("CPU:0")
dtype = o3d.core.float32
pcd = o3d.t.geometry.PointCloud(device)
pcd.point["positions"] = o3d.core.Tensor(pcd_points, dtype, device)
pcd.point["intensity"] = o3d.core.Tensor(pcd_intensity, dtype, device)
#如果要加入颜色法向量等信息,按同样的方式添加
o3d.t.io.write_point_cloud("name1.pcd", pcd, write_ascii=True)