- 一、概述
- 1、读取点云
- 2、显示点云
- 3、保存点云
- 二、代码实现
- 三、结果展示
- 四、相关链接
pclpy是点云库PCL的python实现,pclpy自带的点云读取函数不支持读取中文路径下的点云,pclpy包含laspy,因此pclpy支持处理las格式的点云。
1、读取点云方式1:
cloud = pcl.PointCloud.PointXYZ() # 读取点云数据 pcl.io.loadPCDFile('bunny.pcd', cloud)
方式2:
# 加载点云 cloud = pcl.PointCloud.PointXYZ() reader = pcl.io.PCDReader() reader.read("bunny.pcd", cloud)2、显示点云
python显示的方式很多,pclpy的显示方式也是多种多样,这里仅展示一种最简单的可视化方式。
viewer = pcl.visualization.CloudViewer("viewer") viewer.showCloud(cloud, "sample cloud") # 显示点云 while not viewer.wasStopped(10): pass3、保存点云
方式1
pcl.io.savePCDFile("11.pcd", cloud) # 默认方式 pcl.io.savePCDFileASCII("11.pcd", cloud) # ASCII pcl.io.savePCDFileBinary("11.pcd", cloud) # 二进制 pcl.io.savePCDFileBinaryCompressed("11.pcd", cloud) # 压缩
方式2
writer = pcl.io.PCDWriter() writer.write("rs.pcd", cloud_filtered)
writer函数一共有132种重载方式,感兴趣的可打开PCDWriter.py进行查看。
二、代码实现from pclpy import pcl # 创建XYZ格式的点云 cloud = pcl.PointCloud.PointXYZ() # ---------------读取点云数据----------------- pcl.io.loadPCDFile('bunny.pcd', cloud) # -----------------显示点云------------------- pcl.filters.CovarianceSampling viewer = pcl.visualization.CloudViewer("viewer") viewer.showCloud(cloud, "sample cloud") # 显示点云 while not viewer.wasStopped(10): pass # -----------------保存点云------------------- # 方式1 pcl.io.savePCDFile("11.pcd", cloud) # 默认方式 pcl.io.savePCDFileASCII("12.pcd", cloud) # ASCII pcl.io.savePCDFileBinary("13.pcd", cloud) # 二进制 pcl.io.savePCDFileBinaryCompressed("14.pcd", cloud) # 压缩 # 方式2 writer = pcl.io.PCDWriter() writer.write("15.pcd", cloud)三、结果展示 四、相关链接
[1] WIN10系统下python快速安装点云库pclpy-0.11.0