pclpy介绍及详细安装过程



文章目录


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里面移除了可视化模块

点云处理工具——pclpy安装_算法

所以想要可视化看点云效果的,可以下载0.12.0之前的版本:

比如下载安装0.11.0版本,注意使用pip下载,使用国内镜像下载更快:

pip install pclpy==0.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

点云处理工具——pclpy安装_三维重建_02

测试
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

效果:

点云处理工具——pclpy安装_算法_03