《点云库PCL学习教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:朱德海主编;郭浩,苏伟副主编
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:9787512409545
  • 页数:402 页
图书介绍:本书取材、编写体现了PCL强大的功能模块、统一易学的C++调用接口两个特点。全书共分为16章,第1~3章介绍了PCL的概述、入门与基础,第4~7章详细介绍PCL基础功能模块输入输出IO、kd-tree、八叉树、可视化,该4章为后续章节模块的基础,第8~15章详细介绍PCL高级处理功能模块点云滤波、深度图像、关键点、采样一致性、点云特征描述与提取、点云配准、点云分割、点云曲面重建,第16章介绍了一些典型综合应用,让读者感受PCL的强大与易用。

第1章 概述 1

1.1什么是PCL 1

1.2 PCL的发展与创景 1

1.3 PCL的潜在应用领域 2

1.3.1机器人领域 2

1.3.2 CAD/CAM、逆向工程 3

1.3.3激光遥感测量 3

1.3.4虚拟现实、人机交互 3

1.4 PCL在中国 4

1.5 PCL的结构和内容 4

第2章PCL入门 7

2.1 Windows下配置安装PCL开发环境 7

2.1.1从预编译包搭建开发环境 7

2.1.2用第三方预编译包从源码搭建开发环境 16

2.1.3从源码搭建开发环境 23

2.2 Linux下配置搭建PCL开发环境 28

2.2.1预编译包搭建 29

2.2.2从源代码安装 30

2.3其他操作系统 31

2.4建立自己的PCL应用程序 31

2.4.1先决条件 31

2.4.2工程设置 31

2.4.3编译和运行工程 33

第3章PCL基础 36

3.1 PCL C+++编程规范 36

3.1.1 PCL推荐的命名规范 36

3.1.2 PCL推荐的缩进与格式 38

3.1.3设计结构 41

3.2如何编写新的PCL类 42

3.2.1优势:为什么加入PCL开源开发模式 42

3.2.2建立文件结构 43

3.2.3填写类的内容 45

3.2.4许可 52

3.2.5合理命名 53

3.2.6代码注释 53

3.2.7测试新建的类 54

3.3 PCL已有点类型介绍和增加自定义的点类型 54

3.3.1为什么用PointT类型 54

3.3.2 PCL中有哪些可用的PointT类型 55

3.3.3如何在模板类中使用这些point类型 67

3.3.4如何增加新的PointT类型 69

3.4 PCL中异常处理机制 70

3.4.1开发者如何增加一个新的异常类 71

3.4.2如何使用自定义的异常 71

3.4.3异常的处理 72

第4章 输入/输出(I/O) 74

4.1 I/O涉及的设备及相关概念简介 74

4.1.1 OpenNI开源框架 74

4.1.2 OpenNI兼容设备 75

4.2 PCL中I/O模块及类介绍 76

4.2.1 I/O模块中类以及全局函数说明 76

4.2.2 I/O模块其他关键成员说明 85

4.3应用实例解析 87

4.3.1 PCD(点云数据)文件格式 87

4.3.2从PCD文件中读取点云数据 91

4.3.3向PCD文件写入点云数据 93

4.3.4连接两个点云中的字段或数据形成新点云 95

4.3.5 PCL中的OpenNI点云获取框架 98

第5章kd-tree 104

5.1 kd-tree概念简介 104

5.2 PCL中kd-tree模块及类介绍 105

5.2.1 kd-tree模块中类说明以及全局函数说明 105

5.2.2 kd-tree模块其他关键成员说明 107

5.3应用实例解析 108

第6章 八叉树 112

6.1 octree概述及相关算法简介 112

6.2 PCL中octree模块及类介绍 113

6.3应用实例解析 121

6.3.1在PCL中如何实现点云压缩 121

6.3.2基于octree的空间划分及搜索操作 127

6.3.3无序点云数据集的空间变化检测 130

第7章 可视化 133

7.1可视化相关概念及算法简介 133

7.2 PCL中visualization模块及类介绍 133

7.2.1 pcl_visualization模块中类说明 133

7.2.2 pcl_visualization模块其他关键成员说明 151

7.3应用实例解析 152

7.3.1点云视窗类CloudViewer 152

7.3.2怎样可视化深度图像 155

7.3.3 PCLVisualizer可视化类 158

第8章 滤波 171

8.1 PCL中滤波模块相关概念及算法介绍 171

8.2 PCL中filters模块及类介绍 172

8.2.1 PCL中filter模块相关类的介绍 172

8.2.2滤波模块中其他关键函数 184

8.3应用实例解析 185

8.3.1在PCL中使用直通滤波器对点云进行滤波处理 185

8.3.2使用VoxelGrid滤波器对点云进行下采样 187

8.3.3使用StatisticalOutlierRemoval滤波器移除离群点 189

8.3.4使用参数化模型投影点云 191

8.3.5从一个点云中提取索引 194

8.3.6使用ConditionalRemoval或RadiusOutlierRemoval移除离群点 196

第9章 深度图像 200

9.1模块RangeImage相关概念及算法简介 200

9.2 PCL中模块RangeImage相关类的介绍 201

9.3应用实例解析 210

9.3.1如何从点云创建深度图像 210

9.3.2如何从深度图像中提取边界 213

第10章 关键点 216

10.1关键点概念及相关算法简介 216

10.2 PCL中keypoints模块及类介绍 217

10.3应用实例解析 222

第11章 采样一致性算法 226

11.1随机采样一致性相关概念及算法简介 226

11.1.1 RANSAC随机采样一致性算法简介 226

11.1.2 LMedS最小中值方差估计算法 227

11.1.3 PCL中Sample_consensus模块支持的几何模型 228

11.2 PCL中Sample_ consensus模块及类介绍 229

11.2.1 Sample_consensus模块中类介绍 229

11.2.2 pcl_sample_consensus模块其他关键成员说明 248

11.3应用实例解析 249

第12章 点云特征描述与提取 254

12.1特征描述与提取相关概念及算法简介 254

12.2 PCL中特征描述与提取模块及类介绍 255

12.2.1 pcl_features模块中类介绍 255

12.2.2 features模块其他关键成员说明 270

12.3应用实例解析 271

12.3.1 PCL中描述三维特征相关基础 271

12.3.2估计一个点云的表面法线 276

12.3.3使用积分图进行法线估计 280

12.3.4点特征直方图(PFH)描述子 282

12.3.5快速点特征直方图(FPFH)描述子 285

12.3.6估计一点云的VFH特征 288

12.3.7如何从一个深度图像(range image)中提取NARF特征 292

12.3.8特征描述算子算法基准化分析 294

第13章 点云配准 300

13.1 PCL中实现的配准算法以及相关概念 300

13.2 PCL中Registration模块及类介绍 303

13.2.1 Registration模块中类的介绍 303

13.2.2配准模块中相关结构体介绍 319

13.3应用实例解析 320

13.3.1如何使用迭代最近点算法 320

13.3.2如何逐步匹配多幅点云 323

13.3.3如何使用正态分布变换(Normal Distributions Transform)进行配准 332

第14章 点云分割 338

14.1点云分割概念及相关算法简介 338

14.1.1聚类分割算法 338

14.1.2基于随机采样一致性(RANSAC)的分割 338

14.2 PCL中Segmentation模块及类介绍 339

14.2.1 Segmentation模块中类的介绍 339

14.2.2 Segmentation模块的其他全局关键函数 346

14.3应用实例解析 348

14.3.1在PCL中如何实现平面模型分割 348

14.3.2在PCL中如何实现圆柱体模型分割 350

14.3.3在PCL中如何实现欧氏聚类提取 355

第15章 点云曲面重建 359

15.1 surface模块中实现的算法及相关概念简介 359

15.2 PCL中surface模块及类介绍 362

15.2.1 Surface模块中类介绍 362

15.2.2 surface模块中其他关键成员说明 372

15.3应用实例解析 372

15.3.1基于多项式拟合的法线估计、点云平滑和数据重采样 372

15.3.2在平面模型上提取凸(凹)多边形 375

15.3.3无序点云的快速三角化 379

第16章 综合应用 384

16.1对齐对象模板到点云 384

16.2基于VFH描述子的聚类识别与6自由度位姿估计 393