《点云库PCL从入门到精通》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:郭浩主编;苏伟,朱德海,王可副主编
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111615521
  • 页数:420 页
图书介绍:点云库是在吸收了点云相关研究基础上建立起来的跨平台开源库,可在Windows,Linux,Android,Mac OS X,以及部分嵌入式实时系统上运行,目前已经得到了广泛应用。本书为应用点云库技术的指导图书,旨在帮助读者对其以快速,有效的方式上手使用并实际应用,最大限度地节省读者的入门与技术提升时间。书中首先介绍了三维点云处理的相关理论知识,之后则重点从实际的点云处理功能模块出发,通过大量具体的实践案例介绍如何使用该项技术解决实际问题。

第1章 概述 1

1.1 PCL是什么 1

1.2点云处理技术与PCL的前世今生 1

1.3点云处理技术能给工程师们带来什么 2

1.3.1测绘领域 2

1.3.2无人驾驶领域 2

1.3.3机器人领域 3

1.3.4人机交互领域 3

1.3.5逆向工程与其他工业自动化领域 3

1.3.6 BIM领域 4

1.4 PCL的结构与核心内容 5

第2章 PCL入门 7

2.1快速安装与源码编译安装 7

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

2.1.2 ROS下配置搭建PCL开发环境 14

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

2.1.4从源码搭建开发环境 19

2.2开发工程的建立与项目管理 19

2.2.1 Windows下建立编译链接PCL工程 19

2.2.2 ROS下建立编译链接PCL工程 19

2.3 PCL编码风格简介 27

2.3.1 PCL编程规范 27

2.3.2如何编写新的PCL类 32

2.3.3 PCL的点类型以及如何增加自定义的点类型 42

2.3.4 PCL中的异常处理机制 55

第3章 输入输出(IO) 58

3.1IO涉及的设备及相关概念 58

3.1.1 OpenNI及类Kinect设备 58

3.1.2以Project Tango为代表的便携式消费级点云获取设备 60

3.1.3 PCL目前支持的点云获取设备 60

3.1.4 PCL中IO模块及类 61

3.2 IO入门级实例解析 61

3.2.1 PCD文件格式 61

3.2.2 PCD文件IO操作 64

3.2.3两个点云中的字段或数据连接 67

3.2.4基于OpenNI接口的点云数据获取 70

3.2.5 PLY、 LAS等常见数据格式与PCD的转换 74

3.2.6利用Kinect2获取点云数据 78

3.3 IO精通级实例解析 81

3.3.1 ROS下进行点云数据实时获取与可视化 81

3.3.2自选设备scanCONTROL与PCL实时获取与可视化点云数据 85

3.3.3利用Tango进行点云数据获取 88

3.3.4基于Structure from Motion的点云数据获取 93

第4章 k-d tree与八叉树 100

4.1 k-d tree和八叉树的概念及相关算法 100

4.1.1 k-d tree概念及相关算法 100

4.1.2 PCL中k-d tree模块及类 101

4.1.3八叉树概念及相关算法 101

4.1.4 PCL中八叉树模块及类 102

4.2 k-d tree与八叉树入门级实例解析 102

4.2.1在PCL中如何实现快速邻域搜索 102

4.2.2在PCL中如何实现点云压缩 104

4.2.3基于八叉树的空间划分及搜索操作 108

4.2.4无序点云数据集的空间变化检测 111

第5章 可视化 114

5.1 PCL中visualization模块及类 114

5.2可视化入门级实例解析 114

5.2.1简单点云可视化 114

5.2.2可视化深度图像 117

5.2.3 PCLVisualizer可视化类 120

5.2.4 PCLPlotter可视化特征直方图 129

5.3可视化精通级实例解析 133

5.3.1PCL结合Qt使用框架 133

5.3.2 PCL结合MFC使用框架 139

5.3.3客户端浏览器上对点云进行可视化 147

第6章 点云滤波 151

6.1 PCL中实现的滤波算法及相关概念 151

6.1.1 PCL中的点云滤波方案 151

6.1.2双边滤波算法 152

6.1.3 PCL中filters模块及类 152

6.2点云滤波入门级实例解析 152

6.2.1使用直通滤波器对点云进行滤波处理 152

6.2.2使用VoxelGrid滤波器对点云进行下采样 154

6.2.3使用Statistical OutlierRemoval滤波器移除离群点 155

6.2.4使用参数化模型投影点云 157

6.2.5从一个点云中提取一个子集 159

6.2.6使用ConditionalRemoval或Radius-OutlierRemoval移除离群点 161

6.2.7 CropHull任意多边形内部点云提取 164

6.3点云滤波精通级实例解析:IPhone X手机外壳全尺寸检测 166

6.3.1项目需求概述 166

6.3.2利用滤波可以实现的功能 166

第7章 深度图像 173

7.1 RangeImage概念及相关算法 173

7.1.1深度图像简介 173

7.1.2 PCL中RangeImage的相关类 174

7.2深度图像入门级实例解析 175

7.2.1如何从一个点云创建一个深度图像 175

7.2.2如何从深度图像中提取边界 177

7.3深度图像精通级实例解析点云到深度图的变换与曲面重建 179

第8章 关键点 182

8.1关键点概念及相关算法 182

8.2关键点入门级实例解析 183

8.2.1如何从距离图像中提取NARF关键点 183

8.2.2 SIFT关键点提取 185

8.2.3 Harris关键点提取 187

8.3关键点精通级实例解析:基于对应点分类的对象识别 188

第9章 采样一致性 194

9.1随机采样一致性相关概念及算法 194

9.2采样一致性入门级实例解析 197

9.3采样一致性精通级实例解析:两两点云获取设备自动标定 201

9.3.1项目需求概述 201

9.3.2具体实现 201

第10章 3D点云特征描述与提取 204

10.1特征描述与提取的概念及相关算法 204

10.1.13D形状内容描述子 204

10.1.2旋转图像 205

10.1.3 PCL中特征描述与提取模块及类 205

10.2点云特征描述与提取入门级实例解析 205

10.2.1 PCL中描述三维特征相关基础 205

10.2.2估计一个点云的表面法线 208

10.2.3使用积分图进行法线估计 212

10.2.4点特征直方图描述子 213

10.2.5快速点特征直方图描述子 216

10.2.6估计一点云的VFH特征 219

10.2.7如何从一个深度图像中提取NARF特征 221

10.2.8特征描述算子算法基准化分析 224

10.2.9 RoPs特征 228

10.2.10基于惯性矩与偏心率的描述子 234

10.2.11 BoundaryEstimation进行边界提取 235

10.3点云特征描述与提取精通级实例解析 238

10.3.1 3D对象识别的假设验证 238

10.3.2隐式形状模型方法 241

10.3.3点云数据视频流的刚性物体位姿估计与跟踪定位软件 245

第11章 点云配准 250

11.1 PCL中实现的配准算法及相关概念 250

11.1.1一对点云配准 250

11.1.2对应估计 251

11.1.3对应关系去除 252

11.1.4变换矩阵估算 252

11.1.5迭代最近点算法 252

11.1.6采样一致性初始对齐算法 253

11.1.7 PCL中Registration模块及类 253

11.2点云配准入门级实例解析 253

11.2.1如何使用迭代最近点ICP算法 253

11.2.2如何逐步匹配多幅点云 256

11.2.3如何使用正态分布变换进行配准 263

11.2.4交互式迭代最近点配准 268

11.2.5刚性物体的位姿估计 273

11.3点云配准精通级实例解析 276

11.3.1如何将扫描数据与模板对象进行配准 276

11.3.2基于VFH描述子聚类识别与位姿估计 284

11.3.3动态库封装DIY接口与测试 291

11.3.4交互式多深度摄像头标定软件 294

第12章 点云分割 300

12.1点云分割概念及相关算法 300

12.1.1聚类分割算法 300

12.1.2基于随机采样一致性的分割 300

12.1.3 PCL中Segmentation模块及类 301

12.2点云分割入门级实例解析 301

12.2.1在PCL中如何实现平面模型分割 301

12.2.2在PCL中如何实现圆柱体模型分割 304

12.2.3在PCL中如何实现欧式聚类提取 308

12.2.4基于区域生长的分割 311

12.2.5基于颜色的区域生长分割 313

12.2.6最小图割的分割 316

12.2.7基于法线微分的分割 319

12.2.8基于超体素的点云分割 324

12.2.9渐进式形态学滤波地面分割 331

12.2.10条件欧氏聚类点云分割 333

12.3点云分割精通级实例解析:运动对象分割与配准算法实现 336

12.3.1代码 336

12.3.2各个关键功能步骤分析 336

12.3.3运动分割与配准结果 341

第13章 点云曲面重建 342

13.1 surface模块中实现的算法及相关概念 342

13.1.1凸包算法 342

13.1.2 Ear Clipping三角化算法 342

13.1.3贪婪投影三角化算法 343

13.1.4移动立方体算法 343

13.1.5泊松曲面重建算法 344

13.1.6 PCL中surface模块及类 344

13.2点云曲面重建入门级实例解析 344

13.2.1基于多项式平滑点云及法线估计的曲面重建 344

13.2.2在平面模型上构建凸(凹)多边形 347

13.2.3无序点云的快速三角化 350

13.2.4基于B样条曲线的曲面重建 353

13.3点云曲面重建精通级实例解析:平面点云的B样条曲线拟合 358

13.3.1 B样条曲线和B样条曲线拟合概述 358

13.3.2平面点云B样条曲线拟合详细步骤 359

第14章 电力线巡检 364

14.1电力线巡检概述 364

14.1.1电力线巡检介绍 364

14.1.2在电力线巡检领域做的工作 364

14.2电力线巡检应用实例解析 366

14.2.1电力线点云获取 366

14.2.2结果展示 368

14.2.3总结 368

第15章 文物古迹保护 369

15.1文物古迹保护概述 369

15.1.1文物古迹保护介绍 369

15.1.2在文物古迹保护领域所做工作 369

15.2文物古迹保护应用实例解析:博物馆文物三维数字化 370

15.2.1应用概述 370

15.2.2具体实施步骤 371

15.2.3博物馆文物三维数字化结果展示 372

15.2.4三维数字化总结 374

第16章 地形测量 375

16.1地形测绘概述 375

16.1.1地形测量介绍 375

16.1.2在地形测量领域所做工作 375

16.2地形测量应用实例解析:机载激光雷达在山区地质灾害调查中的应用 376

16.2.1应用概述 376

16.2.2具体实施步骤 376

16.2.3激光雷达获取地形数据结果展示 378

16.2.4激光雷达获取地形数据总结 380

第17章 无人驾驶 381

17.1无人驾驶概述 381

17.1.1无人驾驶介绍 381

17.1.2在无人驾驶领域做的工作 381

17.2基于点云数据获取与处理技术的无人驾驶公司列表 384

第18章 逆向工程 385

18.1逆向工程概述 385

18.1.1逆向工程介绍 385

18.1.2在逆向工程领域所做工作 385

18.2逆向工程应用实例解析:汽车部件逆向工程 386

18.2.1汽车部件逆向工程概述 386

18.2.2汽车部件逆向工程解决方案 387

18.2.3汽车部件逆向工程结果展示 388

18.2.4汽车部件逆向工程总结 388

第19章 植物表型测量 389

19.1植物表型测量概述 389

19.1.1植物表型测量介绍 389

19.1.2在植物表型测量领域所做工作 389

19.2植物表型测量应用实例解析 391

19.2.1玉米果穗点云分割 391

19.2.2玉米叶片点云与茎秆点云分离 394

19.2.3激光雷达林业资源调查 398

第20章 家畜表型测量 403

20.1家畜表型测量概述 403

20.1.1家畜表型测量介绍 403

20.1.2在家畜表型测量领域所做工作 403

20.2基于点云数据的家畜表型测量应用实例解析 405

20.2.1家畜多视角体表点云获取 405

20.2.2基于点云数据的家畜自动化体尺测点提取及交互式体尺测量 409

附录:国内外点云数据处理商业软件集合 412

参考文献 418