import open3d as o3d
# 读取点云数据
pcd = o3d.t.io.read_point_cloud("name.pcd")
pcd_intensity = pcd.point["intensity"] # 访问强度
pcd_points = pcd.point["positions"] # 访问位置
# 转换为NumPy数组(如果需要)
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)
# 将新点云写入PCD文件
o3d.t.io.write_point_cloud("name1.pcd", pcd, write_ascii=True)