书籍详情
Python OpenCV从入门到精通
作者:明日科技
出版社:清华大学出版社
出版时间:2021-09-01
ISBN:9787302583615
定价:¥79.80
购买这本书可以去
内容简介
《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
第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
猜您喜欢