pclpy介绍及详细安装过程
文章目录
pclpy是点云库(PCL)的Python绑定。使用CppHeaderParser和pybind11从头文件生成。
这个库正在积极开发中,api可能会发生变化。所包含的模块确实可以工作,但测试还不完整。目前只支持Windows和python 3.6 x64。
许多其他python库尝试绑定PCL。最流行的是python-pcl,它使用Cython。虽然Cython非常强大,但绑定c++模板并不是它的强项(PCL大量使用模板)。python-pcl有大量的代码重复,维护和添加特性都非常难,而且对PCL的类和点类型绑定不完整。使用pybind11绑定,我们可以直接使用c++,模板、boost::smart_ptr和缓冲区协议都比较容易实现。
GitHub:https://github.com/davidcaron/pclpy
pypi: https://pypi.org/project/pclpy/
pybind11:https://pybind11.readthedocs.io/en/stable/
下载:Release下载:https://github.com/davidcaron/pclpy/releases
安装建议使用Anconda创建多个虚拟环境进行测试
conda create -n pclpy11 python=3.6 # 创建新的虚拟环境
conda activate pclpy11 # 激活环境
0.12.0版下载安装:
conda install -c conda-forge -c davidcaron pclpy
注意:最新版的0.12.0里面移除了可视化模块
所以想要可视化看点云效果的,可以下载0.12.0之前的版本:
比如下载安装0.11.0版本,注意使用pip下载,使用国内镜像下载更快:
pip install pclpy==0.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
from pclpy import pcl
# 读取pcd格式点云数据
pc = pcl.PointCloud.PointXYZ()
reader = pcl.io.PCDReader()
reader.read("bunny.pcd", pc)
# 可视化点云
viewer = pcl.visualization.CloudViewer("viewer")
viewer.showCloud(pc, "hi")
while not viewer.wasStopped(10):
pass
效果: