概述
PCL库是一个大规模的开源点云处理库。PCL框架包括大量的最新算法,如:滤波,特征估计,表面重建,配准,模型适配和分割。这些算法有很多应用,例如:从噪声数据中提取出离群值,3D点云缝合,分割一个背景的相关部位,提取关键点和计算出根据几何外形识别物体的描述符,点云的表面重建和可视化。
PCL遵循BSD license,是一个开源软件,商用和研究都是免费的。
PCL是一个跨平台并且在Linuxm, MacOS, Windows和Android中都可以顺利的编译和部署。为了方便改进,PCL被分为一系列的小的可以分开编译的代码库。这种模块化对于在有大小约束的平台上使用PCL至关重要。
基本用法
这部分指导手册会带你浏览PCL安装、模块的的简介并指明模块的位置,列出不同部件的联系。
PCL被分为很多模板库,这重要的板块如下所示:
- Filter
- Features
- Keypoints
- Registration
- KdTree
- Octree
- segmentation
- sample Consensus
- Surface
- Range Image
- I/O
- Visualization
- Search
- Binary
1. Filter
下图是一个噪声移除的示例。因为测量的错误,具体的数据集有很多阴影点,这种情况让点云的局部3D特征的估计更加复杂了。通过对每个点的邻域进行统计分析,并修剪不符合特定条件的那些异常值,可以过滤掉这些噪声点。PCL中这些点的消除是基于输入数据集中点和邻域点的距离分布。对于每个点,计算其和邻域点的平均距离。假定结果分布是具有均值和标准差的高斯分布,可以将其平均距离在由全部距离均值和标准差定义的区间之外的所有点视为离群值,并且从数据集中进行修剪。