本书主要研究Python中的图像处理。全书贯穿各种图像处理算法与案例进行介绍,是一本典型的实战指南。本书从实战出发,详细介绍了Python中的图像处理,包含了丰富的算法及案例,每个步骤都结合代码、公式和图表进行叙述。本书采用Python编程语言和OpenCV库编写,给想快速了解图像处理、从事计算机视觉领域和研究Python图像识别方向的读者提供便利,能够迅速上手。本书构思合理,采用通俗易懂、由浅入深的方式叙述,也符合国家大数据发展战略,是一本入门级的Python图像处理教材。
样章试读
目录
- 目录
第一篇 基础知识
第1章 绪论 3
1.1 数字图像处理 3
1.2 Python语言 4
1.3 OpenCV 5
1.4 章节安排 6
参考文献 7
第2章 Python基础 8
2.1 Python简介 8
2.2 基础语法 10
2.2.1 输出语句 10
2.2.2 注释 12
2.2.3 变量及赋值 13
2.2.4 输入语句 14
2.3 数据类型 15
2.4 基本语句 20
2.4.1 条件语句 20
2.4.2 循环语句 23
2.5 基本操作 25
2.6 本章小结 27
参考文献 27
第3章 数字图像处理基础 28
3.1 数字图像处理概述 28
3.2 像素及常见图像分类 28
3.3 图像信号数字化处理 31
3.4 OpenCV安装配置 32
3.5 OpenCV初识及常见数据类型 33
3.5.1 OpenCV显示图像 33
3.5.2 常见数据类型 36
3.6 Numpy和Matplotlib库介绍 37
3.6.1 Numpy库 37
3.6.2 Matplotlib库 38
3.7 几何图形绘制 42
3.7.1 绘制直线 43
3.7.2 绘制矩形 45
3.7.3 绘制圆形 47
3.7.4 绘制椭圆 48
3.7.5 绘制多边形 51
3.7.6 绘制文字 54
3.8 本章小结 55
参考文献 55
第4章 Python图像处理入门 56
4.1 OpenCV读取显示图像 56
4.2 OpenCV读取修改像素 57
4.3 OpenCV创建复制保存图像 61
4.4 获取图像属性及通道 64
4.4.1 图像属性 64
4.4.2 图像通道处理 66
4.5 图像算术与逻辑运算 70
4.5.1 图像加法运算 70
4.5.2 图像减法运算 71
4.5.3 图像与运算 73
4.5.4 图像或运算 75
4.5.5 图像异或运算 76
4.5.6 图像非运算 77
4.6 图像融合处理 79
4.7 获取图像ROI区域 82
4.8 图像类型转换 84
4.9 本章小结 88
参考文献 88
第二篇 图像运算
第5章 Python图像几何变换 91
5.1 图像几何变换概述 91
5.2 图像平移变换 92
5.3 图像缩放变换 95
5.4 图像旋转变换 99
5.5 图像镜像变换 102
5.6 图像仿射变换 104
5.7 图像透视变换 106
5.8 本章小结 108
参考文献 108
第6章 Python图像量化及采样处理 109
6.1 图像量化处理 109
6.1.1 概述 109
6.1.2 操作 110
6.1.3 K-Means聚类量化处理 114
6.2 图像采样处理 116
6.2.1 概述 116
6.2.2 操作 117
6.2.3 局部马赛克处理 121
6.3 图像金字塔 123
6.3.1 图像向下取样 124
6.3.2 图像向上取样 127
6.4 本章小结 130
参考文献 130
第7章 Python图像的点运算处理 131
7.1 图像点运算的概述 131
7.2 图像灰度化处理 131
7.2.1 图像的灰度线性变换 140
7.2.2 图像的灰度非线性变换 147
7.3 图像阈值化处理 154
7.3.1 固定阈值化处理 155
7.3.2 自适应阈值化处理 163
7.4 本章小结 167
参考文献 167
第8章 Python图像形态学处理 168
8.1 数学形态学概述 168
8.2 图像腐蚀 168
8.3 图像膨胀 171
8.4 图像开运算 173
8.5 图像闭运算 176
8.6 图像梯度运算 178
8.7 图像顶帽运算 180
8.8 图像底帽运算 184
8.9 本章小结 186
参考文献 186
第三篇 图像增强
第9章 Python直方图统计 189
9.1 图像直方图概述 189
9.2 Matplotlib绘制直方图 191
9.3 OpenCV绘制直方图 197
9.4 掩模直方图 201
9.5 图像灰度变换直方图对比 203
9.6 图像H-S直方图 213
9.7 直方图判断黑夜白天 215
9.8 本章小结 219
参考文献 219
第10章 Python图像增强 220
10.1 图像增强概述 220
10.2 直方图均衡化 222
10.2.1 原理知识 222
10.2.2 代码实现 227
10.3 局部直方图均衡化 231
10.4 自动色彩均衡化 233
10.5 本章小结 237
参考文献 237
第11章 Python图像平滑 238
11.1 图像平滑概述 238
11.2 均值滤波 240
11.3 方框滤波 243
11.4 高斯滤波 247
11.5 中值滤波 249
11.6 双边滤波 251
11.7 本章小结 254
参考文献 254
第12章 Python图像锐化及边缘检测 255
12.1 原理概述 255
12.1.1 一阶微分算子 255
12.1.2 二阶微分算子 256
12.2 Roberts算子 257
12.3 Prewitt算子 259
12.4 Sobel算子 261
12.5 Laplacian算子 263
12.6 Scharr算子 268
12.7 Canny算子 270
12.8 LOG算子 273
12.9 本章小结 275
参考文献 276
第四篇 高阶图像处理
第13章 Python图像特效处理 279
13.1 图像毛玻璃特效 279
13.2 图像浮雕特效 280
13.3 图像油漆特效 282
13.4 图像素描特效 283
13.5 图像怀旧特效 285
13.6 图像光照特效 287
13.7 图像流年特效 289
13.8 图像水波特效 290
13.9 图像卡通特效 293
13.10 图像滤镜特效 295
13.11 图像直方图均衡化特效 297
13.12 图像模糊特效 299
13.13 本章小结 300
第14章 Python图像分割 301
14.1 图像分割概述 301
14.2 基于阈值的图像分割 302
14.3 基于边缘检测的图像分割 303
14.4 基于纹理背景的图像分割 309
14.5 基于K-Means聚类的区域分割 311
14.6 基于均值漂移算法的图像分割 317
14.7 基于分水岭算法的图像分割 321
14.8 图像漫水填充分割 327
14.9 文字区域定位及提取案例 333
14.10 本章小结 338
参考文献 339
第15章 Python傅里叶变换与霍夫变换 340
15.1 图像傅里叶变换概述 340
15.2 图像傅里叶变换操作 341
15.2.1 Numpy实现傅里叶变换 341
15.2.2 Numpy实现傅里叶逆变换 345
15.2.3 OpenCV实现傅里叶变换 346
15.2.4 OpenCV实现傅里叶逆变换 348
15.3 基于傅里叶变换的高通滤波和低通滤波 350
15.4 图像霍夫变换 356
15.4.1 图像霍夫线变换操作 358
15.4.2 图像霍夫圆变换操作 363
15.5 本章小结 366
参考文献 366
第16章 Python图像分类 367
16.1 图像分类概述 367
16.2 常见的分类算法 368
16.2.1 朴素贝叶斯分类算法 368
16.2.2 KNN分类算法 369
16.2.3 SVM分类算法 369
16.2.4 随机森林分类算法 371
16.2.5 神经网络分类算法 372
16.3 基于朴素贝叶斯算法的图像分类 374
16.4 基于KNN算法的图像分类 380
16.5 基于神经网络算法的图像分类 384
16.6 本章小结 389
参考文献 389