图书目录

目  录

第Ⅰ部分 实践环境

第1 章 实践硬件环境   3

1.1 概述   3

1.2 PC 平台   3

1.3 嵌入式平台   5

1.3.1 MVB-NCUT 机器视觉实验箱构成和说明   5

1.3.2 VIM3 开发板   9

1.3.3 树莓派硬件平台介绍   13

第2 章 实践软件环境   18

2.1 概述   18

2.2 Ubuntu Linux   18

2.2.1 诞生和定位   18

2.2.2 特点   19

2.3 OpenCV 计算机视觉库   20

2.3.1 简要介绍   20

2.3.2 OpenCV 的优势   21

2.4 Python 相关依赖库   22

2.4.1 OpenCV-Python   22

2.4.2 NumPy   23

2.4.3 Sys   24

2.4.4 Argparse   24

2.5 常见问题和解决方案   24

2.5.1 Khadas VIM3 开发板安装Ubuntu 系统   25

2.5.2 Ubuntu 下OpenCV 的安装   26

2.5.3 Ubuntu 下python 依赖库下载方法   28

第Ⅱ部分 图像处理实践   31

第3 章 图像的基本操作   33

3.1 概述   33

3.2 图像及基本操作   33

3.2.1  图像   34

3.2.2 OpenCV 中的图像基本操作函数   37

3.3 图像基本操作示例   40

3.3.1 实验准备   40

3.3.2 图像读写实例   40

3.3.3 视频读取实例   42

3.3.4 视频文件创建实例   45

3.4 小结   48

3.5 实践习题   48

第4 章 图像的几何变换   49

4.1 概述   49

4.2 图像几何变换基础   49

4.2.1 几何变换   49

4.2.2 几何变换原理   50

4.2.3 插值原理   51

4.2.4 OpenCV 中的几何变换函数   53

4.3 几何变换示例   55

4.3.1 实验准备   55

4.3.2 常用几何变换实例   56

4.3.3 计算仿射变换矩阵   61

4.4 小结   63

4.5 实践习题   64

第5 章 图像滤波实践   67

5.1 概述   67

5.2 图像滤波基础   67

5.2.1 图像滤波   67

5.2.2 卷积   69

5.2.3 滤波方法   69

5.2.4 OpenCV 中的图像滤波函数   75

5.3 图像滤波示例   77

5.3.1 实验准备   77

5.3.2 常用图像滤波实例   77

5.4 小结   79

5.5 实践习题   80

第6 章 图像边缘检测实践   81

6.1 概述   81

6.2 边缘检测理论基础   81

6.2.1 边缘检测   82

6.2.2 了解边缘   82

6.2.3 图像梯度   82

6.2.4 常用算子   83

6.2.5 OpenCV 中的边缘检测函数   86

6.3 边缘检测示例   89

6.3.1 实验准备   89

6.3.2 边缘检测实例   89

6.4 小结   93

6.5 实践习题   93

第7 章 特征提取与匹配实践   95

7.1 概述   95

7.2 特征提取与匹配基础知识   96

7.2.1 SIFT 特征提取算法   96

7.2.2 特征匹配   113

7.3 特征提取与匹配示例   117

7.3.1 实验准备   117

7.3.2 SIFT 特征提取实例   117

7.3.3 暴力匹配方法实例   119

7.3.4 快速最近邻方法实例   122

7.4 小结   125

7.5 实践习题   125

第Ⅲ部分 模式识别实践   128

第8 章 人脸识别实践   129

8.1 概述   129

8.2 人脸识别基础   130

8.2.1 人脸识别原理   130

8.2.2 基于传统方法人脸检测   131

8.2.3 基于深度学习方法的人脸检测   133

8.2.4 人脸对齐   135

8.2.5 人脸特征提取与比对   136

8.3 人脸识别操作示例   137

8.3.1 实验准备   137

8.3.2 基于传统方法人脸检测实例   137

8.3.3 基于深度学习方法人脸检测实例   140

8.3.4 基于深度学习人脸识别实例   145

8.4 小结   151

8.5 实践习题   152

第9 章 目标跟踪实践   155

9.1 概述   155

9.2 目标跟踪基础   156

9.2.1 目标跟踪   156

9.2.2 MeanShift 算法   157

9.3 目标跟踪示例   164

9.3.1 实验准备   164

9.3.2 MeanShift 算法目标跟踪实例   164

9.3.3 CamShift 算法目标跟踪实例   168

9.3.4 DaSiamRPN 算法目标跟踪实例   171

9.4 小结   179

9.5 实践习题   180

第10 章 文本识别实践   181

10.1 概述   181

10.2 文本识别基础   182

10.2.1 文本识别的流程   182

10.2.2 传统的文本检测方法   183

10.2.3 基于深度学习的方法之DB   185

10.2.4 基于深度学习的方法之CTC   187

10.3 文本识别示例   189

10.3.1 实验准备   189

10.3.2 MSER 文字检测实例   189

10.3.3 DB 检测方法示例   193

10.3.4 CTC 检测方法实例   199

10.4 小结   205

10.5 实践习题   206

第11 章 条形码与二维码识别应用   207

11.1 概述   207

11.2 条形码与二维码识别   208

11.2.1 条形码与二维码简史   208

11.2.2 条形码与二维码结构   209

11.2.3 一维条形码识别   209

11.2.4 二维码识别   214

11.3 条形码与二维码识别示例   217

11.3.1 实验准备   218

11.3.2 一维条形码实例   218

11.3.3 基于传统算法的二维码识别实例   222

11.3.4 基于深度学习的二维码识别实例   232

11.4 小结   235

11.5 实践习题   235

第12 章 基于视觉的机械臂实践   237

12.1 概述   237

12.2 基于视觉的机械臂基础   238

12.2.1 基于视觉的机械臂   238

12.2.2 机械臂控制基本原理   238

12.2.3 跟踪人脸的机械臂实现流程   241

12.3 基于视觉的机械臂示例   243

12.3.1 实验准备   243

12.3.2 机械臂舵机控制实例   243

12.3.3 跟踪人脸的机械臂实例   247

12.4 小结   253

12.5 实践习题   254

参考文献   255