open3d读取bin文件x,y,z,r,g,b,intensity转为pcd?-灵析社区

一颗西兰花

open3d读取bin文件x,y,z,r,g,b,intensity转为pcd发现只能存储x,y,z,rgb无法同时存储颜色跟强度信息,如何处理? 在open3d中发现只有points,colors两个字段可以存储,请问如何同时存储颜色跟强度信息,如何自定义添加字段?

阅读量:13

点赞量:0

问AI
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)