书籍详情
计算机视觉40例从入门到深度学习(OpenCV-Python)
作者:李立宗 著
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857
定价:¥129.00
购买这本书可以去
内容简介
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。 本书从基础知识、基础案例、机器学习、深度学习和人脸识别5个方面对计算机视觉的相关知识点进行了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有图像加密、指纹识别、车牌识别、缺陷检测等基于传统技术的计算机视觉经典案例,也有图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还有表情识别、驾驶员疲劳检测、易容术、性别和年龄识别等基于人脸识别的计算机视觉案例。 在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
作者简介
天津职业技术师范大学副教授,研究兴趣为计算机视觉、人工智能等方向。在上述领域的国际会议、期刊公开发表论文十余篇,拥有发明专利一项、软件著作权十余项,主编《OpenCV轻松入门》、《OpenCV编程案例详解》、参编《数字图像处理技术》等十余本图书,在网易云课堂主讲的计算机视觉等系列课程被评为精品课。
目录
目录
第1部分 基础知识导读篇
第1章 数字图像基础 2
1.1 图像表示基础 2
1.1.1 艺术与生活 2
1.1.2 数字图像 3
1.1.3 二值图像的处理 5
1.1.4 像素值的范围 5
1.1.5 图像索引 7
1.2 彩色图像的表示 8
1.3 应用基础 9
1.3.1 量化 10
1.3.2 特征 10
1.3.3 距离 11
1.3.4 图像识别 13
1.3.5 信息隐藏 15
1.4 智能图像处理基础 16
1.5 抽象 18
第2章 Python基础 21
2.1 如何开始 21
2.2 基础语法 22
2.2.1 变量的概念 22
2.2.2 变量的使用 22
2.3 数据类型 24
2.3.1 基础类型 25
2.3.2 列表 25
2.3.3 元组 28
2.3.4 字典 29
2.4 选择结构 31
2.5 循环结构 35
2.6 函数 39
2.6.1 什么是函数 39
2.6.2 内置函数 41
2.6.3 自定义函数 42
2.7 模块 44
2.7.1 标准模块 44
2.7.2 第三方模块 45
2.7.3 自定义模块 46
第3章 OpenCV基础 47
3.1 基础 47
3.1.1 安装OpenCV 47
3.1.2 读取图像 49
3.1.3 显示图像 50
3.1.4 保存图像 51
3.2 图像处理 52
3.2.1 像素处理 52
3.2.2 通道处理 57
3.2.3 调整图像大小 60
3.3 感兴趣区域 62
3.4 掩模 63
3.4.1 掩模基础及构造 64
3.4.2 乘法运算 65
3.4.3 逻辑运算 66
3.4.4 掩模作为函数参数 68
3.5 色彩处理 69
3.5.1 色彩空间基础 69
3.5.2 色彩空间转换 71
3.5.3 获取皮肤范围 72
3.6 滤波处理 73
3.6.1 均值滤波 75
3.6.2 高斯滤波 78
3.6.3 中值滤波 82
3.7 形态学 84
3.7.1 腐蚀 85
3.7.2 膨胀 88
3.7.3 通用形态学函数 91
第2部分 基础案例篇
第4章 图像加密与解密 94
4.1 加密与解密原理 94
4.2 图像整体加密与解密 96
4.3 脸部打码及解码 98
4.3.1 掩模方式实现 98
4.3.2 ROI方式实现 101
第5章 数字水印 105
5.1 位平面 106
5.2 数字水印原理 114
5.3 实现方法 115
5.4 具体实现 119
5.5 可视化水印 121
5.5.1 ROI 121
5.5.2 加法运算 123
5.6 扩展学习 125
5.6.1 算术运算实现数字水印 125
5.6.2 艺术字 128
第6章 物体计数 131
6.1 理论基础 131
6.1.1 如何计算图像的中心点 131
6.1.2 获取图像的中心点 133
6.1.3 按照面积筛选前景对象 135
6.2 核心程序 138
6.2.1 核函数 138
6.2.2 zip函数 140
6.2.3 阈值处理函数threshold 140
6.3 程序设计 141
6.4 实现程序 142
第7章 缺陷检测 144
7.1 理论基础 144
7.1.1 开运算 144
7.1.2 距离变换函数distanceTransform 146
7.1.3 最小包围圆形 148
7.1.4 筛选标准 149
7.2 程序设计 150
7.3 实现程序 151
第8章 手势识别 153
8.1 理论基础 154
8.1.1 获取凸包 154
8.1.2 凸缺陷 156
8.1.3 凸缺陷占凸包面积比 159
8.2 识别过程 161
8.2.1 识别流程 162
8.2.2 实现程序 165
8.3 扩展学习:石头、剪刀、布的识别 167
8.3.1 形状匹配 167
8.3.2 实现程序 170
第9章 答题卡识别 173
9.1 单道题目的识别 173
9.1.1 基本流程及原理 173
9.1.2 实现程序 178
9.2 整张答题卡识别原理 180
9.2.1 图像预处理 180
9.2.2 答题卡处理 181
9.2.3 筛选出所有选项 189
9.2.4 将选项按照题目分组 190
9.2.5 处理每一道题目的选项 195
9.2.6 显示结果 195
9.3 整张答题卡识别程序 195
第10章 隐身术 201
10.1 图像的隐身术 201
10.1.1 基本原理与实现 201
10.1.2 实现程序 213
10.1.3 问题及优化方向 214
10.2 视频隐身术 215
第11章 以图搜图 217
11.1 原理与实现 218
11.1.1 算法原理 218
11.1.2 感知哈希值计算方法 220
11.1.3 感知哈希值计算函数 224
11.1.4 计算距离 224
11.1.5 计算图像库内所有图像的哈希值 225
11.1.6 结果显示 226
11.2 实现程序 228
11.3 扩展学习 230
第12章 手写数字识别 231
12.1 基本原理 232
12.2 实现细节 233
12.3 实现程序 235
12.4 扩展阅读 236
第13章 车牌识别 238
13.1 基本原理 238
13.1.1 提取车牌 238
13.1.2 分割车牌 240
13.1.3 识别车牌 242
13.2 实现程序 246
13.3 下一步学习 249
第14章 指纹识别 250
14.1 指纹识别基本原理 251
14.2 指纹识别算法概述 251
14.2.1 描述关键点特征 251
14.2.2 特征提取 252
14.2.3 MCC匹配方法 254
14.2.4 参考资料 258
14.3 尺度不变特征变换 258
14.3.1 尺度空间变换 260
14.3.2 关键点定位 266
14.3.3 通过方向描述关键点 267
14.3.4 显示关键点 271
14.4 基于SIFT的指纹识别 273
14.4.1 距离计算 273
14.4.2 特征匹配 274
14.4.3 算法及实现程序 277
第3部分 机器学习篇
第15章 机器学习导读 282
15.1 机器学习是什么 283
15.2 机器学习基础概念 284
15.2.1 机器学习的类型 284
15.2.2 泛化能力 289
15.2.3 数据集的划分 290
15.2.4 模型的拟合 291
15.2.5 性能度量 292
15.2.6 偏差与方差 293
15.3 OpenCV中的机器学习模块 294
15.3.1 人工神经网络 295
15.3.2 决策树 296
15.3.3 EM模块 300
15.3.4 K近邻模块 300
15.3.5 logistic回归 303
15.3.6 贝叶斯分类器 305
15.3.7 支持向量机 308
15.3.8 随机梯度下降 SVM 分类器 310
15.4 OpenCV机器学习模块的使用 312
15.4.1 使用KNN模块分类 312
15.4.2 使用SVM模块分类 314
第16章 KNN实现字符识别 317
16.1 手写数字识别 317
16.2 英文字母识别 319
第17章 求解数独图像 322
17.1 基本过程 322
17.2 定位数独图像内的单元格 323
17.3 构造KNN模型 327
17.4 识别数独图像内的数字 330
17.5 求解数独 332
17.6 绘制数独求解结果 334
17.7 实现程序 335
17.8 扩展学习 338
第18章 SVM数字识别 339
18.1 基本流程 339
18.2 倾斜校正 340
18.3 HOG特征提取 343
18.4 数据处理 348
18.5 构造及使用SVM分类器 351
18.6 实现程序 352
18.7 参考学习 354
第19章 行人检测 355
19.1 方向梯度直方图特征 355
19.2 基础实现 358
19.2.1 基本流程 359
19.2.2 实现程序 359
19.3 函数detectMultiScale参数及优化 360
19.3.1 参数winStride 360
19.3.2 参数padding 362
19.3.3 参数scale 364
19.3.4 参数useMeanshiftGrouping 366
19.4 完整程序 369
19.5 参考学习 370
第20章 K均值聚类实现艺术画 371
20.1 理论基础 371
20.1.1 案例 371
20.1.2 K均值聚类的基本步骤 373
20.2 K均值聚类模块 374
20.3 艺术画 377
第4部分 深度学习篇
第21章 深度学习导读 384
21.1 从感知机到人工神经网络 384
21.1.1 感知机 384
21.1.2 激活函数 385
21.1.3 人工神经网络 387
21.1.4 完成分类 388
21.2 人工神经网络如何学习 389
21.3 深度学习是什么 390
21.3.1 深度的含义 390
21.3.2 表示学习 391
21.3.3 端到端 392
21.3.4 深度学习可视化 393
21.4 激活函数的分类 394
21.4.1 sigmoid函数 394
21.4.2 tanh函数 395
21.4.3 ReLU函数 395
21.4.4 Leaky ReLU函数 396
21.4.5 ELU函数 396
21.5 损失函数 397
21.5.1 为什么要用损失值 397
21.5.2 损失值如何起作用 398
21.5.3 均方误差 399
21.5.4 交叉熵误差 400
21.6 学习的技能与方法 401
21.6.1 全连接 401
21.6.2 随机失活 402
21.6.3 One-hot编码 403
21.6.4 学习率 403
21.6.5 正则化 404
21.6.6 mini-batch方法 405
21.6.7 超参数 406
21.7 深度学习游乐场 406
第22章 卷积神经网络基础 407
22.1 卷积基础 407
22.2 卷积原理 409
22.2.1 数值卷积 409
22.2.2 图像卷积 410
22.2.3 如何获取卷积核 411
22.3 填充和步长 412
22.4 池化操作 413
22.5 感受野 414
22.6 预处理与初始化 416
22.6.1 扩充数据集 416
22.6.2 标准化与归一化 417
22.6.3 网络参数初始化 418
22.7 CNN 418
22.7.1 LeNet 418
22.7.2 AlexNet 419
22.7.3 VGG网络 420
22.7.4 NiN 420
22.7.5 GooLeNet 421
22.7.6 残差网络 423
第23章 DNN模块 426
23.1 工作流程 427
23.2 模型导入 428
23.3 图像预处理 429
23.4 推理相关函数 438
第24章 深度学习应用实践 440
24.1 图像分类 441
24.1.1 图像分类模型 441
24.1.2 实现程序 442
24.2 目标检测 443
24.2.1 YOLO 444
24.2.2 SSD 447
24.3 图像分割 450
24.3.1 语义分割 450
24.3.2 实例分割 453
24.4 风格迁移 458
24.5 姿势识别 460
24.6 说明 463
第5部分 人脸识别篇
第25章 人脸检测 466
25.1 基本原理 466
25.2 级联分类器的使用 469
25.3 函数介绍 470
25.4 人脸检测实现 471
25.5 表情检测 473
第26章 人脸识别 475
26.1 人脸识别基础 475
26.1.1 人脸识别基本流程 475
26.1.2 OpenCV人脸识别基础 476
26.2 LBPH人脸识别 478
26.2.1 基本原理 478
26.2.2 函数介绍 482
26.2.3 案例介绍 482
26.3 EigenFaces人脸识别 484
26.3.1 基本原理 484
26.3.2 函数介绍 485
26.3.3 案例介绍 485
26.4 FisherFaces人脸识别 487
26.4.1 基本原理 487
26.4.2 函数介绍 489
26.4.3 案例介绍 489
26.5 人脸数据库 491
第27章 dlib库 493
27.1 定位人脸 493
27.2 绘制关键点 494
27.3 勾勒五官轮廓 497
27.4 人脸对齐 500
27.5 调用CNN实现人脸检测 502
第28章 人脸识别应用案例 504
28.1 表情识别 504
28.2 驾驶员疲劳检测 507
28.3 易容术 511
28.3.1 仿射 511
28.3.2 算法流程 512
28.3.3 实现程序 514
28.4 年龄和性别识别 517
第1部分 基础知识导读篇
第1章 数字图像基础 2
1.1 图像表示基础 2
1.1.1 艺术与生活 2
1.1.2 数字图像 3
1.1.3 二值图像的处理 5
1.1.4 像素值的范围 5
1.1.5 图像索引 7
1.2 彩色图像的表示 8
1.3 应用基础 9
1.3.1 量化 10
1.3.2 特征 10
1.3.3 距离 11
1.3.4 图像识别 13
1.3.5 信息隐藏 15
1.4 智能图像处理基础 16
1.5 抽象 18
第2章 Python基础 21
2.1 如何开始 21
2.2 基础语法 22
2.2.1 变量的概念 22
2.2.2 变量的使用 22
2.3 数据类型 24
2.3.1 基础类型 25
2.3.2 列表 25
2.3.3 元组 28
2.3.4 字典 29
2.4 选择结构 31
2.5 循环结构 35
2.6 函数 39
2.6.1 什么是函数 39
2.6.2 内置函数 41
2.6.3 自定义函数 42
2.7 模块 44
2.7.1 标准模块 44
2.7.2 第三方模块 45
2.7.3 自定义模块 46
第3章 OpenCV基础 47
3.1 基础 47
3.1.1 安装OpenCV 47
3.1.2 读取图像 49
3.1.3 显示图像 50
3.1.4 保存图像 51
3.2 图像处理 52
3.2.1 像素处理 52
3.2.2 通道处理 57
3.2.3 调整图像大小 60
3.3 感兴趣区域 62
3.4 掩模 63
3.4.1 掩模基础及构造 64
3.4.2 乘法运算 65
3.4.3 逻辑运算 66
3.4.4 掩模作为函数参数 68
3.5 色彩处理 69
3.5.1 色彩空间基础 69
3.5.2 色彩空间转换 71
3.5.3 获取皮肤范围 72
3.6 滤波处理 73
3.6.1 均值滤波 75
3.6.2 高斯滤波 78
3.6.3 中值滤波 82
3.7 形态学 84
3.7.1 腐蚀 85
3.7.2 膨胀 88
3.7.3 通用形态学函数 91
第2部分 基础案例篇
第4章 图像加密与解密 94
4.1 加密与解密原理 94
4.2 图像整体加密与解密 96
4.3 脸部打码及解码 98
4.3.1 掩模方式实现 98
4.3.2 ROI方式实现 101
第5章 数字水印 105
5.1 位平面 106
5.2 数字水印原理 114
5.3 实现方法 115
5.4 具体实现 119
5.5 可视化水印 121
5.5.1 ROI 121
5.5.2 加法运算 123
5.6 扩展学习 125
5.6.1 算术运算实现数字水印 125
5.6.2 艺术字 128
第6章 物体计数 131
6.1 理论基础 131
6.1.1 如何计算图像的中心点 131
6.1.2 获取图像的中心点 133
6.1.3 按照面积筛选前景对象 135
6.2 核心程序 138
6.2.1 核函数 138
6.2.2 zip函数 140
6.2.3 阈值处理函数threshold 140
6.3 程序设计 141
6.4 实现程序 142
第7章 缺陷检测 144
7.1 理论基础 144
7.1.1 开运算 144
7.1.2 距离变换函数distanceTransform 146
7.1.3 最小包围圆形 148
7.1.4 筛选标准 149
7.2 程序设计 150
7.3 实现程序 151
第8章 手势识别 153
8.1 理论基础 154
8.1.1 获取凸包 154
8.1.2 凸缺陷 156
8.1.3 凸缺陷占凸包面积比 159
8.2 识别过程 161
8.2.1 识别流程 162
8.2.2 实现程序 165
8.3 扩展学习:石头、剪刀、布的识别 167
8.3.1 形状匹配 167
8.3.2 实现程序 170
第9章 答题卡识别 173
9.1 单道题目的识别 173
9.1.1 基本流程及原理 173
9.1.2 实现程序 178
9.2 整张答题卡识别原理 180
9.2.1 图像预处理 180
9.2.2 答题卡处理 181
9.2.3 筛选出所有选项 189
9.2.4 将选项按照题目分组 190
9.2.5 处理每一道题目的选项 195
9.2.6 显示结果 195
9.3 整张答题卡识别程序 195
第10章 隐身术 201
10.1 图像的隐身术 201
10.1.1 基本原理与实现 201
10.1.2 实现程序 213
10.1.3 问题及优化方向 214
10.2 视频隐身术 215
第11章 以图搜图 217
11.1 原理与实现 218
11.1.1 算法原理 218
11.1.2 感知哈希值计算方法 220
11.1.3 感知哈希值计算函数 224
11.1.4 计算距离 224
11.1.5 计算图像库内所有图像的哈希值 225
11.1.6 结果显示 226
11.2 实现程序 228
11.3 扩展学习 230
第12章 手写数字识别 231
12.1 基本原理 232
12.2 实现细节 233
12.3 实现程序 235
12.4 扩展阅读 236
第13章 车牌识别 238
13.1 基本原理 238
13.1.1 提取车牌 238
13.1.2 分割车牌 240
13.1.3 识别车牌 242
13.2 实现程序 246
13.3 下一步学习 249
第14章 指纹识别 250
14.1 指纹识别基本原理 251
14.2 指纹识别算法概述 251
14.2.1 描述关键点特征 251
14.2.2 特征提取 252
14.2.3 MCC匹配方法 254
14.2.4 参考资料 258
14.3 尺度不变特征变换 258
14.3.1 尺度空间变换 260
14.3.2 关键点定位 266
14.3.3 通过方向描述关键点 267
14.3.4 显示关键点 271
14.4 基于SIFT的指纹识别 273
14.4.1 距离计算 273
14.4.2 特征匹配 274
14.4.3 算法及实现程序 277
第3部分 机器学习篇
第15章 机器学习导读 282
15.1 机器学习是什么 283
15.2 机器学习基础概念 284
15.2.1 机器学习的类型 284
15.2.2 泛化能力 289
15.2.3 数据集的划分 290
15.2.4 模型的拟合 291
15.2.5 性能度量 292
15.2.6 偏差与方差 293
15.3 OpenCV中的机器学习模块 294
15.3.1 人工神经网络 295
15.3.2 决策树 296
15.3.3 EM模块 300
15.3.4 K近邻模块 300
15.3.5 logistic回归 303
15.3.6 贝叶斯分类器 305
15.3.7 支持向量机 308
15.3.8 随机梯度下降 SVM 分类器 310
15.4 OpenCV机器学习模块的使用 312
15.4.1 使用KNN模块分类 312
15.4.2 使用SVM模块分类 314
第16章 KNN实现字符识别 317
16.1 手写数字识别 317
16.2 英文字母识别 319
第17章 求解数独图像 322
17.1 基本过程 322
17.2 定位数独图像内的单元格 323
17.3 构造KNN模型 327
17.4 识别数独图像内的数字 330
17.5 求解数独 332
17.6 绘制数独求解结果 334
17.7 实现程序 335
17.8 扩展学习 338
第18章 SVM数字识别 339
18.1 基本流程 339
18.2 倾斜校正 340
18.3 HOG特征提取 343
18.4 数据处理 348
18.5 构造及使用SVM分类器 351
18.6 实现程序 352
18.7 参考学习 354
第19章 行人检测 355
19.1 方向梯度直方图特征 355
19.2 基础实现 358
19.2.1 基本流程 359
19.2.2 实现程序 359
19.3 函数detectMultiScale参数及优化 360
19.3.1 参数winStride 360
19.3.2 参数padding 362
19.3.3 参数scale 364
19.3.4 参数useMeanshiftGrouping 366
19.4 完整程序 369
19.5 参考学习 370
第20章 K均值聚类实现艺术画 371
20.1 理论基础 371
20.1.1 案例 371
20.1.2 K均值聚类的基本步骤 373
20.2 K均值聚类模块 374
20.3 艺术画 377
第4部分 深度学习篇
第21章 深度学习导读 384
21.1 从感知机到人工神经网络 384
21.1.1 感知机 384
21.1.2 激活函数 385
21.1.3 人工神经网络 387
21.1.4 完成分类 388
21.2 人工神经网络如何学习 389
21.3 深度学习是什么 390
21.3.1 深度的含义 390
21.3.2 表示学习 391
21.3.3 端到端 392
21.3.4 深度学习可视化 393
21.4 激活函数的分类 394
21.4.1 sigmoid函数 394
21.4.2 tanh函数 395
21.4.3 ReLU函数 395
21.4.4 Leaky ReLU函数 396
21.4.5 ELU函数 396
21.5 损失函数 397
21.5.1 为什么要用损失值 397
21.5.2 损失值如何起作用 398
21.5.3 均方误差 399
21.5.4 交叉熵误差 400
21.6 学习的技能与方法 401
21.6.1 全连接 401
21.6.2 随机失活 402
21.6.3 One-hot编码 403
21.6.4 学习率 403
21.6.5 正则化 404
21.6.6 mini-batch方法 405
21.6.7 超参数 406
21.7 深度学习游乐场 406
第22章 卷积神经网络基础 407
22.1 卷积基础 407
22.2 卷积原理 409
22.2.1 数值卷积 409
22.2.2 图像卷积 410
22.2.3 如何获取卷积核 411
22.3 填充和步长 412
22.4 池化操作 413
22.5 感受野 414
22.6 预处理与初始化 416
22.6.1 扩充数据集 416
22.6.2 标准化与归一化 417
22.6.3 网络参数初始化 418
22.7 CNN 418
22.7.1 LeNet 418
22.7.2 AlexNet 419
22.7.3 VGG网络 420
22.7.4 NiN 420
22.7.5 GooLeNet 421
22.7.6 残差网络 423
第23章 DNN模块 426
23.1 工作流程 427
23.2 模型导入 428
23.3 图像预处理 429
23.4 推理相关函数 438
第24章 深度学习应用实践 440
24.1 图像分类 441
24.1.1 图像分类模型 441
24.1.2 实现程序 442
24.2 目标检测 443
24.2.1 YOLO 444
24.2.2 SSD 447
24.3 图像分割 450
24.3.1 语义分割 450
24.3.2 实例分割 453
24.4 风格迁移 458
24.5 姿势识别 460
24.6 说明 463
第5部分 人脸识别篇
第25章 人脸检测 466
25.1 基本原理 466
25.2 级联分类器的使用 469
25.3 函数介绍 470
25.4 人脸检测实现 471
25.5 表情检测 473
第26章 人脸识别 475
26.1 人脸识别基础 475
26.1.1 人脸识别基本流程 475
26.1.2 OpenCV人脸识别基础 476
26.2 LBPH人脸识别 478
26.2.1 基本原理 478
26.2.2 函数介绍 482
26.2.3 案例介绍 482
26.3 EigenFaces人脸识别 484
26.3.1 基本原理 484
26.3.2 函数介绍 485
26.3.3 案例介绍 485
26.4 FisherFaces人脸识别 487
26.4.1 基本原理 487
26.4.2 函数介绍 489
26.4.3 案例介绍 489
26.5 人脸数据库 491
第27章 dlib库 493
27.1 定位人脸 493
27.2 绘制关键点 494
27.3 勾勒五官轮廓 497
27.4 人脸对齐 500
27.5 调用CNN实现人脸检测 502
第28章 人脸识别应用案例 504
28.1 表情识别 504
28.2 驾驶员疲劳检测 507
28.3 易容术 511
28.3.1 仿射 511
28.3.2 算法流程 512
28.3.3 实现程序 514
28.4 年龄和性别识别 517
猜您喜欢