环境:
使用python3.7:conda create --name py37 python=3.7
安装包:conda install -c conda-forge -c davidcaron pclpy
pcd的binary转ascii
def pcl_binary_ascii(pcd_src_path, pcd_dst_path):
pcl_file = pclpy.pcl.PointCloud.PointXYZI()
pclpy.pcl.io.loadPCDFile(pcd_src_path, pcl_file)
pclpy.pcl.io.savePCDFileASCII(pcd_dst_path, pcl_file)
pcd的ascii转binary
def ascii_binary(pcd_src_path, pcd_dst_path):
pcl_file = pclpy.pcl.PointCloud.PointXYZI()
pclpy.pcl.io.loadPCDFile(pcd_src_path, pcl_file)
pclpy.pcl.io.savePCDFileBinary(pcd_dst_path, pcl_file)
pcd中x,y,z的单位处理
将原先的厘米单位转换成米:
def pcd_unity(pcd_src_path, pcd_dst_path):
pcl_file = pclpy.pcl.PointCloud.PointXYZI()
pclpy.pcl.io.loadPCDFile(pcd_src_path, pcl_file)
for i in range(len(pcl_file.points)):
pcl_file.points[i].x /= 100
pcl_file.points[i].y /= 100
pcl_file.points[i].z /= 100
pclpy.pcl.io.savePCDFileBinary(pcd_dst_path, pcl_file)