描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302583615
《Python OpenCV从入门到精通》以入门为主、进阶为辅,提供了从Python OpenCV入门到编程高手所必需的各项知识。
(1)主流技术,全面解析。本书内容丰富,涵盖OpenCV图像处理技术的方方面面,包括图像的几何变换、阈值处理、图像运算、模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理、人脸检测和人脸识别等。一本书教你掌握计算机视觉开发领域的主流核心技术。
(2)由浅入深,循序渐进。本书引领读者按照基础入门→核心框架→项目实战循序渐进地学习,符合认知规律。
(3)边学边练,学以致用。130个应用实例 1个行业项目案例 136集Python零基础扫盲课,边学边练,在实践中提升技能。
(4)精彩栏目,贴心提醒。本书设置了很多“注意”“说明”“技巧”等小栏目,有利于读者在学习过程中更轻松地理解相关知识点及概念,并轻松地掌握个别技术的应用技巧。
(5)在线解答,高效学习。在线答疑QQ及技术支持网站,不定期进行在线直播课程。
《Python OpenCV从入门到精通》以在Python开发环境下运用OpenCV处理图像为主线,全面介绍OpenCV提供的处理图像的方法。全书共分为16章,包括Python与OpenCV、搭建开发环境、图像处理的基本操作、像素的操作、色彩空间与通道、绘制图形和文字、图像的几何变换、图像的阈值处理、图像的运算、模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理、人脸检测和人脸识别以及MR智能视频打卡系统。本书图文丰富,直观呈现处理后的图像与原图之间的差异;在讲解OpenCV提供的方法时,列举了其中的必选参数和可选参数,读者能更快地掌握方法的语法格式;后一章以MR智能视频打卡系统为例,指导读者系统地运用OpenCV解决工作中的实际问题。本书专注于图像处理本身,尽可能忽略图像处理算法的具体实现细节,降低阅读和学习的难度,有助于读者更好更快地达到入门的目的。此外,本书资源包中提供了完整的示例源码、要使用到的图像等配套学习资源。
第1篇 入门篇
第1章 Python与OpenCV 2
1.1 Python概述 2
1.1.1 什么是Python 2
1.1.2 Python的版本 3
1.1.3 Python的应用 3
1.2 OpenCV概述 5
1.2.1 计算机视觉 5
1.2.2 OpenCV包含的模块 6
1.2.3 OpenCV的发展历程 7
1.2.4 OpenCV的应用 7
1.2.5 Python OpenCV的开发工具 8
1.3 小结 8
第2章 搭建开发环境 9
2.1 Python的下载和安装 9
2.1.1 下载Python 10
2.1.2 安装Python 11
2.1.3 测试Python是否安装成功 12
2.2 Python OpenCV的下载和安装 13
2.2.1 下载和安装OpenCV-Contrib-Python库 13
2.2.2 测试OpenCV-Contrib-Python库和Numpy库是否安装成功 14
2.3 PyCharm的下载和安装 14
2.3.1 下载PyCharm 14
2.3.2 安装PyCharm 15
2.3.3 启动并配置PyCharm 16
2.4 小结 21
第3章 图像处理的基本操作 22
3.1 读取图像 22
3.2 显示图像 24
3.3 保存图像 26
3.4 获取图像属性 27
3.5 小结 28
第4章 像素的操作 29
4.1 像素 29
4.1.1 确定像素的位置 30
4.1.2 获取像素的BGR值 31
4.1.3 修改像素的BGR值 33
4.2 使用NumPy模块操作像素 34
4.2.1 NumPy概述 34
4.2.2 数组的类型 35
4.2.3 创建数组 36
4.2.4 操作数组 39
4.2.5 数组的索引和切片 42
4.2.6 创建图像 46
4.2.7 拼接图像 51
4.3 小结 53
第5章 色彩空间与通道 54
5.1 色彩空间 54
5.1.1 GRAY色彩空间 54
5.1.2 HSV色彩空间 56
5.2 通道 57
5.2.1 拆分通道 58
5.2.2 合并通道 59
5.2.3 综合运用拆分通道和合并通道 62
5.2.4 alpha通道 63
5.3 小结 65
第2篇 基础篇
第6章 绘制图形和文字 68
6.1 线段的绘制 68
6.2 矩形的绘制 70
6.3 圆形的绘制 72
6.4 多边形的绘制 75
6.5 文字的绘制 77
6.5.1 文字的斜体效果 79
6.5.2 文字的垂直镜像效果 80
6.5.3 在图像上绘制文字 81
6.6 动态绘制图形 82
6.7 小结 84
第7章 图像的几何变换 85
7.1 缩放 85
7.1.1 dsize参数实现缩放 86
7.1.2 fx和fy参数实现缩放 87
7.2 翻转 87
7.3 仿射变换 89
7.3.1 平移 90
7.3.2 旋转 92
7.3.3 倾斜 93
7.4 透视 95
7.5 小结 97
第8章 图像的阈值处理 98
8.1 阈值处理函数 99
8.2 “非黑即白”的图像 99
8.2.1 二值化处理 100
8.2.2 反二值化处理 103
8.3 零处理 104
8.3.1 低于阈值零处理 104
8.3.2 超出阈值零处理 105
8.4 截断处理 106
8.5 自适应处理 108
8.6 Otsu方法 111
8.7 阈值处理的作用 112
8.8 小结 114
第9章 图像的运算 115
9.1 掩模 115
9.2 图像的加法运算 117
9.3 图像的位运算 120
9.3.1 按位与运算 121
9.3.2 按位或运算 122
9.3.3 按位取反运算 124
9.3.4 按位异或运算 125
9.4 合并图像 128
9.4.1 加权和 128
9.4.2 覆盖 129
9.5 小结 132
第3篇 进阶篇
第10章 模板匹配 134
10.1 模板匹配方法 134
10.2 单模板匹配 136
10.2.1 单目标匹配 136
10.2.2 多目标匹配 140
10.3 多模板匹配 144
10.4 小结 148
第11章 滤波器 149
11.1 均值滤波器 149
11.2 中值滤波器 151
11.3 高斯滤波器 153
11.4 双边滤波器 156
11.5 小结 158
第12章 腐蚀与膨胀 159
12.1 腐蚀 159
12.2 膨胀 162
12.3 开运算 163
12.4 闭运算 165
12.5 形态学运算 166
12.5.1 梯度运算 167
12.5.2 顶帽运算 168
12.5.3 黑帽运算 169
12.6 小结 170
第13章 图形检测 171
13.1 图像的轮廓 171
13.2 轮廓拟合 175
13.2.1 矩形包围框 176
13.2.2 圆形包围框 177
13.3 凸包 178
13.4 Canny边缘检测 180
13.5 霍夫变换 181
13.5.1 直线检测 181
13.5.2 圆环检测 183
13.6 小结 185
第14章 视频处理 186
14.1 读取并显示摄像头视频 186
14.1.1 VideoCapture类 187
14.1.2 如何使用VideoCapture类 188
14.2 播放视频文件 192
14.2.1 读取并显示视频文件 192
14.2.2 视频的暂停播放和继续播放 194
14.2.3 获取视频文件的属性 196
14.3 保存视频文件 198
14.3.1 VideoWriter类 198
14.3.2 如何使用VideoWriter类 200
14.4 小结 205
第15章 人脸检测和人脸识别 206
15.1 人脸检测 206
15.1.1 级联分类器 207
15.1.2 方法 208
15.1.3 分析人脸位置 209
15.2 检测其他内容 211
15.2.1 眼睛检测 211
15.2.2 猫脸检测 212
15.2.3 行人检测 213
15.2.4 车牌检测 214
15.3 人脸识别 215
15.3.1 Eigenfaces人脸识别器 215
15.3.2 Fisherfaces人脸识别器 218
15.3.3 Local Binary Pattern Histogram人脸识别器 221
15.4 小结 223
第4篇 项目篇
第16章 MR智能视频打卡系统 226
116.1 需求分析 227
16.2 系统设计 228
16.2.1 开发环境 228
16.2.2 功能结构 228
16.2.3 业务流程 229
16.2.4 项目结构 232
16.3 文件系统设计 232
16.4 数据实体模块设计 234
16.5 工具模块设计 235
16.5.1 公共工具模块 235
16.5.2 IO流模块 237
16.5.3 摄像头工具模块 242
16.6 服务模块设计 245
16.6.1 人事服务模块 245
16.6.2 人脸识别服务模块 254
16.7 程序入口设计 255
16.7.1 用户权限管理 255
16.7.2 主菜单设计 256
16.7.3 人脸打卡功能 258
16.7.4 为新员工登记人脸照片样本 259
16.7.5 删除员工全部数据 259
16.7.6 查询员工打卡记录 261
16.7.7 生成考勤报表 262
16.7.8 自定义上下班时间 265
16.7.9 启动程序 267
16.8 小结 267
OpenCV的设计初衷是提供易于使用的计算机视觉接口,以帮助开发人员在实际开发中快速建立精巧的视觉应用。为此,OpenCV库包含了从计算机视觉各个领域衍生出来的500多种方法。这使得OpenCV自测试版发布以来,就被广泛地应用在安保行业、航空领域和其他高精尖的科研工作中。近年来,随着Python语言的强势崛起,Python OpenCV已经成为一个很好的学习方向。
本书内容
本书的写作思路是以入门为主、进阶为辅。全书共分4篇。
第1篇:入门篇。本篇包括Python与OpenCV、搭建开发环境、图像处理的基本操作、像素的操作和色彩空间与通道。这些内容的作用相当于“扫盲”,即完成一个从“什么都不知道”到“掌握关键知识点”的转变过程,为学习后面的内容奠定基础。
第2篇:基础篇。本篇介绍了绘制图形和文字、图像的几何变换、图像的阈值处理和图像的运算。学习完这一部分后,读者不仅能够直观地看到运用OpenCV处理图像后的效果,还能够了解OpenCV程序的编码步骤和注意事项。
第3篇:进阶篇。本篇的内容较多,包含了6章内容,分别是模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理以及人脸检测和人脸识别。这6章内容虽然相对独立,但是在实际开发过程中,是相辅相成、相得益彰的。
第4篇:项目篇。本篇通过一个完整的小型MR智能视频打卡系统,按照“需求分析→系统设计→文件系统设计→数据实体模块设计→工具模块设计→服务模块设计→程序入口设计”顺序,手把手指导读者运用Python OpenCV完成软件项目的开发实践。
本书特点
主流技术,全面覆盖:本书内容丰富,涵盖了Open CV图像处理技术的方方面面,如图像的几何变换、阈值处理、图像运算、模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理、人脸检测和人脸识别等。
深入浅出,通俗易懂:本书专注于图像处理本身,在编写过程中尽量避免使用过多的专业名词,尽可能忽略图像处理算法的具体实现细节,降低阅读和学习难度,读者更易入门和上手。
学练结合,凸显效果:本书实例丰富,提供了130个应用实例,读者可边学边练,更快地掌握Python OpenCV的编码步骤和关键技术。此外,通过对比原图,可更直观地看到图像经过处理后的效果。
项目实战,累积经验:本书给出了MR智能视频打卡系统的完整项目开发过程,手把手指导读者进行需求分析、系统设计,编写出能实现各模块指定功能的代码,积累项目开发经验。
小栏目,大提醒:本书使用了很多“注意”“说明”等小栏目,目的是让读者在学习过程中快速熟悉容易出错的地方,快速理解关键知识点,轻松掌握编程步骤,积累编程技巧。
读者对象
初学编程的自学者、编程爱好者、大中专院校的老师和学生、相关培训机构的老师和学员、毕业设计的学生、初中级程序开发人员、程序测试及维护人员、参加实习的“菜鸟”程序员。读者服务
本书配套的学习资源,读者可登录清华大学出版社网站,在对应图书页面下获取其下载方式。本书为黑白印刷,为方便读者学习,将书中彩色效果的图片上传至云盘,读者可扫描图书封底的“文泉云盘”二维码,获取其下载方式。
致读者
感谢您购买本书,希望本书能成为您编程路上的领航者。
“零门槛”学编程,一切皆有可能。
祝读书快乐!
评论
还没有评论。