OpenCV4计算机视觉:Python语言实现pdf下载pdf下载

OpenCV4计算机视觉:Python语言实现百度网盘pdf下载

作者:
简介:本篇主要提供OpenCV4计算机视觉:Python语言实现pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2021-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

适读人群 :对计算机视觉、机器学习、以及OpenCV感兴趣的读者
计算机视觉是一门发展迅速的科学,涵盖了多种应用和技术。这本书不但适用于计算机视觉的初学者,也适用于计算机视觉相关领域的专家。通过学习本书,你将能够利用OpenCV 4和Python 3构建应用程序,将理论应用于实践。
首先,你将了解OpenCV 4,以及如何基于Python 3在各种平台上安装OpenCV 4。然后,你将学习如何执行读取、写入、操纵,以及显示静态图像、视频和摄像头回传信号等基本操作,还将学习图像处理、视频分析、深度估计和分割,并通过构建GUI应用程序获得实践经验。接下来,你将处理两类常见问题——人脸检测和人脸识别,还将学习物体分类和机器学习的概念,这将使你能够创建和使用物体检测器及分类器,甚至跟踪电影或摄像头回传信号中的物体。稍后,你将学习3D跟踪和增强现实的技能。*后,你将学习人工神经网络和深度神经网络,学习如何开发手写数字识别以及对人的性别和年龄进行分类的应用程序。
学习本书之后,你将拥有完成实际计算机视觉项目所需要的技能。
通过阅读本书,你将能够:
?安装并熟悉OpenCV 4的Python 3绑定。
?理解图像处理和视频分析的基础知识。
?利用深度相机来区分前景和背景区域。
?检测和识别物体,并跟踪物体在视频中的运动。
?训练和使用自己的模型匹配图像以及分类物体。
?检测和识别人脸,并对性别和年龄进行分类。
?构建增强现实应用程序来跟踪3D图像。
?使用机器学习模型,包括支持向量机、人工神经网络和深度神经网络。

内容简介

本书首先介绍OpenCV 4以及如何基于Python 3在各种平台上安装OpenCV 4。接下来,你将学习如何执行读取、写入、操纵,以及显示静态图像、视频和摄像机回馈等基本操作。你还将学习图像处理、视频分析、深度估计和分割,并通过构建一个简单的GUI应用程序获得实践经验。接下来,你将处理两类常见问题:人脸检测和人脸识别。你还将学习物体分类和机器学习的概念,这将使你能够创建和使用物体检测器和分类器,甚至跟踪电影或摄像机回馈中的物体。稍后,你将学习3D跟踪和增强现实。本书末尾,你将学习人工神经网络和深度神经网络,学习如何开发手写数字识别以及对人的性别和年龄分类的应用程序。

目录

译者序
前言
作者简介
审校者简介
第1章 安装OpenCV 1
11 技术需求 2
12 OpenCV 4有哪些新特性 2
13 选择和使用合适的安装工具 3
131 在Windows上安装 3
132 在macOS上安装 7
133 在Debian、Ubuntu、Linux Mint以及类似系统上安装 8
134 在其他类UNIX系统上安装 11
14 运行示例 12
15 查找文档、帮助和更新 13
16 本章小结 13
第2章 处理文件、摄像头和GUI 14
21 技术需求 14
22 基本I/O脚本 14
221 读取/写入图像文件 15
222 在图像和原始字节之间进行转换 17
223 基于numpyarray访问图像数据 19
224 读取/写入视频文件 21
225 捕捉摄像头帧 22
226 在窗口中显示图像 23
227 在窗口中显示摄像头帧 24
23 项目Cameo(人脸跟踪和图像处理) 25
24 Cameo:面向对象的设计 26
241 基于managersCaptureManager提取视频流 26
242 基于managersWindowManager提取窗口和键盘 30
243 基于cameoCameo应用所有内容 31
25 本章小结 33
第3章 基于OpenCV的图像处理 34
31 技术需求 34
32 在不同颜色模型之间进行图像转换 34
33 探索傅里叶变换 35
34 创建模块 38
35 边缘检测 38
36 自定义核:获取卷积 39
37 修改应用程序 41
38 基于Canny的边缘检测 43
39 轮廓检测 43
391 边框、最小矩形区域以及最小外接圆 44
392 凸轮廓和Douglas-Peucker算法 46
310 检测线、圆以及其他形状 48
3101 检测线 48
3102 检测圆 49
3103 检测其他形状 50
311 本章小结 50
第4章 深度估计和分割 51
41 技术需求 51
42 创建模块 52
43 从深度摄像头捕捉帧 52
44 将10位图像转换成8位图像 54
45 由视差图创建掩模 56
46 修改应用程序 57
47 基于普通摄像头的深度估计 59
48 基于GrabCut算法的前景检测 64
49 基于分水岭算法的图像分割 67
410 本章小结 69
第5章 人脸检测和识别 70
51 技术需求 71
52 Haar级联的概念化 71
53 获取Haar级联数据 72
54 使用OpenCV进行人脸检测 72
541 在静态图像上进行人脸检测 73
542 在视频上进行人脸检测 74
543 进行人脸识别 77
55 在红外线下换脸 83
551 修改应用程序的循环 84
552 掩模复制操作 86
56 本章小结 88
第6章 使用图像描述符检索和搜索图像 89
61 技术需求 89
62 理解特征检测和匹配的类型 90
63 检测Harris角点 90
64 检测DoG特征并提取SIFT描述符 92
65 检测快速Hessian特征并提取SURF描述符 95
66 使用基于FAST特征和BRIEF描述符的ORB 96
661 FAST 97
662 BRIEF 97
663 蛮力匹配 98
664 匹配两幅图像中的标识 98
67 使用K最近邻和比率检验过滤匹配 101
68 基于FLANN的匹配 104
69 基于FLANN进行单应性匹配 107
610 示例应用程序:文身取证 110
6101 将图像描述符保存到文件 110
6102 扫描匹配 111
611 本章小结 114
第7章 建立自定义物体检测器 115
71 技术需求 115
72 理解HOG描述符 116
721 HOG的可视化 116
722 使用HOG描述图像的区域 117
73 理解非极大值抑制 118
74 理解支持向量机 118
75 基于HOG描述符检测人 119
76 创建并训练物体检测器 122
761 理解BoW 122
762 将BoW应用于计算机视觉领域 123
763 k均值聚类 123
77 检测汽车 124
771 支持向量机和滑动窗口相结合 129
772 检测场景中的汽车 130
773 保存并加载经过训练的支持向量机 135
78 本章小结 135
第8章 物体跟踪 136
81 技术需求 136
82 基于背景差分检测运动物体 137
821 实现基本背景差分器 138
822 使用MOG背景差分器 140
823 使用KNN背景差分器 143
824 使用GMG和其他背景差分器 145
83 利用MeanShift和CamShift跟踪彩色物体 147
831 规划MeanShift示例 148
832 计算和反投影颜色直方图 148
833 实现MeanShift示例 152
834 使用CamShift 153
84 使用卡尔曼滤波器寻找运动趋势 155
841 理解预测和更新阶段 155
842 跟踪鼠标光标 156
85 跟踪行人 158
851 规划应用程序的流程 158
852 比较面向对象范式和函数范式 159
853 实现行人类 160
854 实现主函数 162
855 考虑接下来的步骤 165
86 本章小结 165
第9章 摄像头模型和增强现实 166
91 技术需求 166
92 理解3D图像跟踪和增强现实 167
921 理解摄像头和镜头参数 168
922 理解cv2solvePnPRansac 172
93 实现demo应用程序 174
931 导入模块 174
932 执行灰度转换 175
933 执行2D到3D的空间转换 176
934 实现应用程序类 177
935 运行和测试应用程序 192
94 改进3D跟踪算法 195
95 本章小结 195
第10章 基于OpenCV的神经网络导论 197
101 技术需求 198
102 理解人工神经网络 198
1021 理解神经元和感知器 199
1022 理解神经网络的层 200
103 用OpenCV训练基本人工神经网络 202
104 训练多阶段人工神经网络分类器 203
105 基于人工神经网络识别手写数字 207
1051 理解手写数字的MNIST数据库 207
1052 为MNIST数据库选择训练参数 208
1053 实现模块来训练人工神经网络 208
1054 实现简单测试模块 212
1055 实现主模块 212
1056 试着提升人工神经网络训练性能 217
1057 寻找其他潜在应用程序 218
106 在OpenCV中使用其他框架的深度神经网络 219
107 基于第三方深度神经网络的物体检测和分类 220
108 基于第三方深度神经网络的人脸检测和分类 223
109 本章小结 228
附录 基于曲线滤波器弯曲颜色空间 229

前言/序言

本书内容是关于OpenCV的 Python 绑定的。从经典技术到先进技术,从几何知识到机器学习,读者将学习大量的技术和算法。在构建良好应用程序的过程中,这些内容都有助于解决实际的计算机视觉问题。在使用OpenCV 4和Python 3的过程中,我们所采用的方法既适用于计算机视觉新手,又适用于希望扩展和更新技能的专家。
首先,我们将介绍OpenCV 4,并解释如何基于Python 3在各种平台上安装、设置OpenCV 4。接着将介绍如何执行读取、写入、操纵和显示静态图像、视频以及摄像头回传信号等基本操作。还将介绍图像处理和视频分析,以及深度估计和分割,通过构建简单的GUI应用程序,让读者获得实践技能。接下来,将处理两类主流问题:人脸检测和人脸识别。
随着学习的深入,我们将探索物体分类和机器学习的概念,使读者能够创建和使用物体检测器及分类器,甚至跟踪电影或者摄像头回传信号中的物体。随后我们将工作扩展到3D跟踪和增强现实。最后,在开发识别手写数字的应用程序并对人的性别和年龄进行分类时,我们将学习人工神经网络(Artificial Neural Network,ANN)和深度神经网络(Deep Neural Network,DNN)。
读完本书,你将获得正确的知识和技能,以着手实际的计算机视觉项目。
目标读者
本书是为那些对计算机视觉、机器学习以及OpenCV在真实场景中的应用感兴趣的读者编写的,无论是计算机视觉新手,还是那些希望跟进OpenCV 4和Python 3的专家,都非常适合阅读本书。读者应该熟悉基本的Python编程知识,但是不需要具备图像处理、计算机视觉或机器学习的先验知识。
本书内容
第1章解释如何基于Python 3在各种平台上安装OpenCV 4。本章还提供了常见问题的处理步骤。
第2章介绍OpenCV的I/O功能。本章还讨论了GUI项目的面向对象设计,我们将在其他章节中对该GUI项目进一步开发。
第3章介绍一些转换图像所需的技术,如颜色处理、图像锐化、物体轮廓标记以及几何形状检测。
第4章展示如何使用来自深度摄像头的数据识别前景和背景区域,以将效果限制在前景或背景。
第5章介绍基于OpenCV的一些人脸检测和识别功能,以及定义特定类型的可检测物体的数据文件。
第6章展示如何在OpenCV的帮助下描述图像的特征,以及如何利用特征进行图像匹配和搜索。
第7章结合计算机视觉和机器学习算法来定位和分类图像中的物体。本章还展示了如何使用OpenCV实现这种算法组合。
第8章演示跟踪和预测视频或实时摄像头中人和物体运动的方法。
第9章将构建一个增强现实应用程序,使用摄像头、物体和运动的信息,实时地将3D图形叠加到跟踪的物体上。
第10章介绍OpenCV中的人工神经网络和深度神经网络,并说明这些内容在实际应用中的用法。
附录描述颜色曲线的概念以及利用SciPy对其进行的实现。
最佳配置
读者至少要熟练掌握Python编程语言的基本知识。推荐使用Windows、macOS或Linux开发机。你可以参考第1章中关于安装OpenCV 4、Python 3以及其他依赖项的说明。
本书采用实践教学方法,包括77个示例脚本以及示例数据。阅读本书的时候,这些示例将有助于强化概念。
本书的代码是在BSD 3条款开放源码许可下发布的,这与OpenCV本身所使用的许可相同。鼓励读者使用、修改、改进示例程序,甚至发布对这些示例程序的更改。
下载示例代码及彩色图像
本书的示例代码文件及截图、样图和视频文件,可以从http://wwwpacktpubcom通过个人账号下载,也可以访问华章图书官网http://wwwhzbookcom,通过注册并登录个人账号下载。
本书的代码包也托管在GitHub的https://githubcom/PackPublishing/Learning-opencv-4-Computer-Vision-with-Python-Third-Edition处。如果代码有更新,其上代码也会随之更新。
本书约定
文本中的代码体:指示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、用户输入和Twitter句柄。例如“OpenCV提供了VideoCapture和VideoWriter类,它们支持各种视频文件格式”。
代码块示例:

代码块中需关注的部分加粗表示:

通常,命令行输入或输出这样表示:

对于Windows系统,命令行输入或输出这样表示:

表示警告或重要注意点。
表示提示和技巧。