栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

pclpy 读取、显示、保存点云

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pclpy 读取、显示、保存点云

目录
  • 一、概述
    • 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):
    pass
3、保存点云

方式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

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/280282.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号