1.1 什么是PCL?
PCL全称为Point Cloud Library,是一个用于三维点云处理的开源库。它包含了从传感器或三维数据文件中检索三维点云的各种处理。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,且PCL是BSD授权方式,可以免费进行商业和学术应用,可在Windows、Linux、Mac OS X等操作系统中运行。
1.2 PCL的发展史
PCL起初由ROS(Robot Operating System)下来自斯坦福大学的Radu博士等人维护和开发的开源项目,主要应用于机器人研究应用领域,随着算法模块的积累,与2011年独立出来,与全球3D信息获取、处理的同行一起组件了强大的开发维护团队,以多所知名大学、研究所和相关软硬件公司为主。PCL继续加入的算法等详情可见PCL官方网站。
1.3 PCL 应用
自己查吧。。。
1.4 PCL的结构与核心内容
对于3D点云处理来说,PCL完全是一个模块化的现代C++模板库。
它基于一下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、QHull。
实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。
为了进一步简化和开发,PCL被分成一系列较小的代码库,使其模块化:
- libpcl filters:采样、去除离群点、特征提取、拟合估计等过滤器。
- libpcl features:实现多种三维特征的筛选,如:曲面法线、曲率、边界点估计等。
- libpcl I/O:实现数据的输入和输出操作。
- libpcl segmentation : 实现聚类提取。
- libpcl surface:实现表面重建技术,如网格重建,凸包重建。
- libpcl register:实现点云配准方法,如ICP等。
- libpcl keypoints:实现不同的关键点提取方法。
- libpcl range:实现支持不同点云数据集生成的范围图像
参考