描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111654360
内容简介
本书以Python语言为蓝本,以OpenCV为框架,使用Anaconda搭建环境,通过丰富的实例,从实验、实践、实用的角度,详细叙述了运用Python和OpenCV实现智能图像处理的过程。全书共12章,主要内容包括智能图像处理入门、Python基础、图像处理基础、图像几何变换、图像直方图处理、图像平滑滤波处理、图像阈值处理、图像形态学处理、图像分割处理、图像梯度及边缘检测、图像轮廓检测与拟合、人脸识别实现等,全面阐述了智能图像处理的理论基础和实现过程。
本书侧重基础、易学易懂,各章节既相对独立又前后关联,其*大的特点就是打破了传统书籍的讲解方法,在介绍各部分理论基础的同时,搭配具体实例,通过对相关程序的详细讲解,帮助读者进一步加深对理论基础的理解。本书每章配有习题,以指导读者深入学习智能图像处理技术。
本书侧重基础、易学易懂,各章节既相对独立又前后关联,其*大的特点就是打破了传统书籍的讲解方法,在介绍各部分理论基础的同时,搭配具体实例,通过对相关程序的详细讲解,帮助读者进一步加深对理论基础的理解。本书每章配有习题,以指导读者深入学习智能图像处理技术。
目 录
前言
第1章 智能图像处理入门 1
1.1 智能图像处理概述 1
1.2 环境搭建 2
1.2.1 安装Python 2
1.2.2 安装PyCharm 8
1.2.3 PyCharm的初始化 12
1.2.4 OpenCV及常用库的配置 15
1.3 思考与练习 17
第2章 Python基础 18
2.1 数据类型 18
2.1.1 数值类型 18
2.1.2 字符串类型 20
2.1.3 布尔类型 20
2.2 变量与常量 21
2.3 运算符 21
2.3.1 运算符简介 21
2.3.2 运算符优先级 21
2.4 选择与循环 22
2.4.1 if语句 22
2.4.2 while循环 25
2.4.3 for循环 27
2.4.4 break和continue语句 29
2.5 列表与元组 31
2.5.1 创建 31
2.5.2 查询 32
2.5.3 修改 33
2.5.4 删除 34
2.6 字典 35
2.6.1 字典的创建 35
2.6.2 字典的常规操作 36
2.6.3 字典的遍历 37
2.7 函数 38
2.7.1 函数的定义与调用 38
2.7.2 参数传递 40
2.8 面向对象编程 42
2.8.1 类与对象 42
2.8.2 继承与多态 44
2.9 思考与练习 46
第3章 图像处理基础 48
3.1 图像的基本表示方法 48
3.1.1 二值图像 48
3.1.2 灰度图像 48
3.1.3 彩色图像 49
3.2 图像处理的基本操作 50
3.2.1 图像的读取、显示和保存 50
3.2.2 图像通道的基本操作 53
3.2.3 图像属性的获取 55
3.3 初识Numpy.array 56
3.4 图像运算 57
3.4.1 加法运算 57
3.4.2 减法运算 59
3.4.3 乘法运算 61
3.4.4 除法运算 63
3.4.5 逻辑运算 64
3.5 图像的色彩空间转换 68
3.5.1 色彩空间类型转换函数 68
3.5.2 RGB色彩空间 68
3.5.3 GRAY色彩空间 69
3.5.4 YCrCb色彩空间 70
3.5.5 HSV色彩空间 71
3.6 思考与练习 73
第4章 图像几何变换 74
4.1 仿射变换 74
4.1.1 平移 75
4.1.2 缩放 76
4.1.3 旋转 77
4.2 重映射 78
4.2.1 复制 78
4.2.2 绕x轴翻转 80
4.2.3 绕y轴翻转 82
4.2.4 绕x轴与y轴翻转 85
4.3 投影变换 87
4.3.1 原理简介 87
4.3.2 Python实现 87
4.4 极坐标变换 89
4.4.1 原理简介 89
4.4.2 Python实现 90
4.5 思考与练习 93
第5章 图像直方图处理 94
5.1 直方图概述 94
5.2 直方图的绘制 95
5.2.1 用OpenCV绘制直方图 95
5.2.2 用pyplot绘制直方图 98
5.3 直方图正规化 99
5.3.1 正规化原理 99
5.3.2 Python实现 99
5.3.3 使用normalize实现 100
5.4 直方图均衡化 102
5.4.1 均衡化原理简介 102
5.4.2 Python实现 104
5.4.3 自适应直方图均衡化 108
5.5 思考与练习 110
第6章 图像平滑滤波处理 111
6.1 图像平滑概述 111
6.2 高斯滤波 112
6.2.1 原理简介 112
6.2.2 Python实现 113
6.3 均值滤波 114
6.3.1 原理简介 114
6.3.2 Python实现 115
6.4 方框滤波 117
6.4.1 原理简介 117
6.4.2 Python实现 117
6.5 中值滤波 119
6.5.1 原理简介 119
6.5.2 Python实现 120
6.6 双边滤波 121
6.6.1 原理简介 121
6.6.2 Python实现 122
6.7 2D卷积核的实现 123
6.8 思考与练习 125
第7章 图像阈值处理 126
7.1 阈值处理概述 126
7.2 全局阈值处理 126
7.2.1 原理简介 126
7.2.2 OpenCV阈值函数cv2.threshold() 127
7.2.3 阈值分割实例 127
7.3 局部阈值处理 136
7.3.1 原理简介 136
7.3.2 cv2.adaptiveThreshold()函数 137
7.4 Otsu阈值处理 139
7.4.1 原理简介 139
7.4.2 Python实现 140
7.5 思考与练习 141
第8章 图像形态学处理 142
8.1 腐蚀 142
8.1.1 原理简介 142
8.1.2 Python实现 143
8.2 膨胀 145
8.2.1 原理简介 145
8.2.2 Python实现 146
8.3 形态学梯度运算 148
8.3.1 原理简介 148
8.3.2 Python实现 148
8.4 开运算与闭运算 149
8.4.1 原理简介 150
8.4.2 Python实现 150
8.5 黑帽与礼帽运算 153
8.5.1 原理简介 153
8.5.2 Python实现 154
8.6 思考与练习 155
第9章 图像分割处理 157
9.1 分水岭算法的介绍与实现 157
9.1.1 算法原理 157
9.1.2 OpenCV中的相关函数 158
9.2 图像的金字塔分割 165
9.2.1 图像金字塔简介 165
9.2.2 OpenCV中的相关函数 166
9.2.3 用金字塔算法实现图像分割 170
9.3 思考与练习 171
第10章 图像梯度及边缘检测 172
10.1 Sobel算子 172
10.1.1 原理简介 172
10.1.2 Python实现 173
10.2 Scharr算子 176
10.2.1 原理简介 176
10.2.2 Python实现 176
10.3 Canny边缘检测 179
10.3.1 原理简介 179
10.3.2 Python实现 180
10.4 Laplacian算子 182
10.4.1 原理简介 182
10.4.2 Python实现 182
10.5 高斯拉普拉斯边缘检测 184
10.5.1 原理简介 184
10.5.2 Python实现 185
10.6 思考与练习 187
第11章 图像轮廓检测与拟合 188
11.1 OpenCV中轮廓的查找与绘制 188
11.1.1 轮廓的查找与绘制 188
11.1.2 查找绘制轮廓的实例 189
11.2 OpenCV中轮廓的周长与面积 192
11.2.1 周长计算:cv2.arcLength()函数 192
11.2.2 面积计算:cv2.contourArea()函数 193
11.3 几何图形的最小外包与拟合 194
11.3.1 最小外包矩形 195
11.3.2 最小外包圆形 196
11.3.3 最小外包三角形 197
11.3.4 最小外包椭圆 199
11.3.5 最优拟合直线 200
11.4 霍夫检测 201
11.4.1 霍夫直线检测 201
11.4.2 霍夫圆检测 204
11.5 思考与练习 205
第12章 人脸识别实现 207
12.1 绘图基础 207
12.1.1 绘制直线:cv2.line()函数 207
12.1.2 绘制矩形:cv2.rectangle()函数 209
12.1.3 绘制圆形:cv2.circle()函数 210
12.1.4 绘制椭圆:cv2.ellipse()函数 212
12.1.5 在图形上绘制文字:cv2.putText()函数 213
12.2 人脸检测 214
12.2.1 OpenCV中级联分类器的使用 215
12.2.2 Python实现 215
12.3 人脸识别 217
12.3.1 原理简介 217
12.3.2 相关函数 217
12.3.3 LBPH人脸识别的Python实现 218
12.4 用Fisherfaces与EigenFaces算法进行人脸识别 220
12.4.1 相关函数 220
12.4.2 Python实现 221
12.5 思考与练习 223
第1章 智能图像处理入门 1
1.1 智能图像处理概述 1
1.2 环境搭建 2
1.2.1 安装Python 2
1.2.2 安装PyCharm 8
1.2.3 PyCharm的初始化 12
1.2.4 OpenCV及常用库的配置 15
1.3 思考与练习 17
第2章 Python基础 18
2.1 数据类型 18
2.1.1 数值类型 18
2.1.2 字符串类型 20
2.1.3 布尔类型 20
2.2 变量与常量 21
2.3 运算符 21
2.3.1 运算符简介 21
2.3.2 运算符优先级 21
2.4 选择与循环 22
2.4.1 if语句 22
2.4.2 while循环 25
2.4.3 for循环 27
2.4.4 break和continue语句 29
2.5 列表与元组 31
2.5.1 创建 31
2.5.2 查询 32
2.5.3 修改 33
2.5.4 删除 34
2.6 字典 35
2.6.1 字典的创建 35
2.6.2 字典的常规操作 36
2.6.3 字典的遍历 37
2.7 函数 38
2.7.1 函数的定义与调用 38
2.7.2 参数传递 40
2.8 面向对象编程 42
2.8.1 类与对象 42
2.8.2 继承与多态 44
2.9 思考与练习 46
第3章 图像处理基础 48
3.1 图像的基本表示方法 48
3.1.1 二值图像 48
3.1.2 灰度图像 48
3.1.3 彩色图像 49
3.2 图像处理的基本操作 50
3.2.1 图像的读取、显示和保存 50
3.2.2 图像通道的基本操作 53
3.2.3 图像属性的获取 55
3.3 初识Numpy.array 56
3.4 图像运算 57
3.4.1 加法运算 57
3.4.2 减法运算 59
3.4.3 乘法运算 61
3.4.4 除法运算 63
3.4.5 逻辑运算 64
3.5 图像的色彩空间转换 68
3.5.1 色彩空间类型转换函数 68
3.5.2 RGB色彩空间 68
3.5.3 GRAY色彩空间 69
3.5.4 YCrCb色彩空间 70
3.5.5 HSV色彩空间 71
3.6 思考与练习 73
第4章 图像几何变换 74
4.1 仿射变换 74
4.1.1 平移 75
4.1.2 缩放 76
4.1.3 旋转 77
4.2 重映射 78
4.2.1 复制 78
4.2.2 绕x轴翻转 80
4.2.3 绕y轴翻转 82
4.2.4 绕x轴与y轴翻转 85
4.3 投影变换 87
4.3.1 原理简介 87
4.3.2 Python实现 87
4.4 极坐标变换 89
4.4.1 原理简介 89
4.4.2 Python实现 90
4.5 思考与练习 93
第5章 图像直方图处理 94
5.1 直方图概述 94
5.2 直方图的绘制 95
5.2.1 用OpenCV绘制直方图 95
5.2.2 用pyplot绘制直方图 98
5.3 直方图正规化 99
5.3.1 正规化原理 99
5.3.2 Python实现 99
5.3.3 使用normalize实现 100
5.4 直方图均衡化 102
5.4.1 均衡化原理简介 102
5.4.2 Python实现 104
5.4.3 自适应直方图均衡化 108
5.5 思考与练习 110
第6章 图像平滑滤波处理 111
6.1 图像平滑概述 111
6.2 高斯滤波 112
6.2.1 原理简介 112
6.2.2 Python实现 113
6.3 均值滤波 114
6.3.1 原理简介 114
6.3.2 Python实现 115
6.4 方框滤波 117
6.4.1 原理简介 117
6.4.2 Python实现 117
6.5 中值滤波 119
6.5.1 原理简介 119
6.5.2 Python实现 120
6.6 双边滤波 121
6.6.1 原理简介 121
6.6.2 Python实现 122
6.7 2D卷积核的实现 123
6.8 思考与练习 125
第7章 图像阈值处理 126
7.1 阈值处理概述 126
7.2 全局阈值处理 126
7.2.1 原理简介 126
7.2.2 OpenCV阈值函数cv2.threshold() 127
7.2.3 阈值分割实例 127
7.3 局部阈值处理 136
7.3.1 原理简介 136
7.3.2 cv2.adaptiveThreshold()函数 137
7.4 Otsu阈值处理 139
7.4.1 原理简介 139
7.4.2 Python实现 140
7.5 思考与练习 141
第8章 图像形态学处理 142
8.1 腐蚀 142
8.1.1 原理简介 142
8.1.2 Python实现 143
8.2 膨胀 145
8.2.1 原理简介 145
8.2.2 Python实现 146
8.3 形态学梯度运算 148
8.3.1 原理简介 148
8.3.2 Python实现 148
8.4 开运算与闭运算 149
8.4.1 原理简介 150
8.4.2 Python实现 150
8.5 黑帽与礼帽运算 153
8.5.1 原理简介 153
8.5.2 Python实现 154
8.6 思考与练习 155
第9章 图像分割处理 157
9.1 分水岭算法的介绍与实现 157
9.1.1 算法原理 157
9.1.2 OpenCV中的相关函数 158
9.2 图像的金字塔分割 165
9.2.1 图像金字塔简介 165
9.2.2 OpenCV中的相关函数 166
9.2.3 用金字塔算法实现图像分割 170
9.3 思考与练习 171
第10章 图像梯度及边缘检测 172
10.1 Sobel算子 172
10.1.1 原理简介 172
10.1.2 Python实现 173
10.2 Scharr算子 176
10.2.1 原理简介 176
10.2.2 Python实现 176
10.3 Canny边缘检测 179
10.3.1 原理简介 179
10.3.2 Python实现 180
10.4 Laplacian算子 182
10.4.1 原理简介 182
10.4.2 Python实现 182
10.5 高斯拉普拉斯边缘检测 184
10.5.1 原理简介 184
10.5.2 Python实现 185
10.6 思考与练习 187
第11章 图像轮廓检测与拟合 188
11.1 OpenCV中轮廓的查找与绘制 188
11.1.1 轮廓的查找与绘制 188
11.1.2 查找绘制轮廓的实例 189
11.2 OpenCV中轮廓的周长与面积 192
11.2.1 周长计算:cv2.arcLength()函数 192
11.2.2 面积计算:cv2.contourArea()函数 193
11.3 几何图形的最小外包与拟合 194
11.3.1 最小外包矩形 195
11.3.2 最小外包圆形 196
11.3.3 最小外包三角形 197
11.3.4 最小外包椭圆 199
11.3.5 最优拟合直线 200
11.4 霍夫检测 201
11.4.1 霍夫直线检测 201
11.4.2 霍夫圆检测 204
11.5 思考与练习 205
第12章 人脸识别实现 207
12.1 绘图基础 207
12.1.1 绘制直线:cv2.line()函数 207
12.1.2 绘制矩形:cv2.rectangle()函数 209
12.1.3 绘制圆形:cv2.circle()函数 210
12.1.4 绘制椭圆:cv2.ellipse()函数 212
12.1.5 在图形上绘制文字:cv2.putText()函数 213
12.2 人脸检测 214
12.2.1 OpenCV中级联分类器的使用 215
12.2.2 Python实现 215
12.3 人脸识别 217
12.3.1 原理简介 217
12.3.2 相关函数 217
12.3.3 LBPH人脸识别的Python实现 218
12.4 用Fisherfaces与EigenFaces算法进行人脸识别 220
12.4.1 相关函数 220
12.4.2 Python实现 221
12.5 思考与练习 223
前 言
图像处理又称为数字图像处理,是指对图像进行分析、加工和处理,使其满足视觉方面需求的一种技术,它也是信号处理在图像领域的一种重要应用。随着计算机技术、人工智能和思维科学研究的迅速发展,图像处理向更高、更深的层次发展,目前已经涌现出多种智能化图像处理技术,如图像识别、图像分割等,图像处理的智能化、自动化已逐渐成为未来发展的方向。
本书利用Windows系统下的Anaconda搭建环境,并基于OpenCV框架和Python语言,详细阐述了智能化图像处理的实现方法。本书共12章,主要内容包括智能图像处理入门、Python基础、图像处理基础、图像几何变换、图像直方图处理、图像平滑滤波处理、图像阈值处理、图像形态学处理、图像分割处理、图像梯度及边缘检测、图像轮廓检测与拟合、人脸识别实现等,最后结合具体案例,使用Python语言和OpenCV库函数阐述图像处理技术。
循序渐进,易学易懂:本书按照由浅入深、循序渐进的原则编写,并与大量实例相结合,使读者可以边学边练,从而提高学习的兴趣与效率。
实例丰富,涉及面广:本书提供了丰富的OpenCV设计实例,内容涉及智能图像处理的多个领域。
兼顾原理,注重实用:本书侧重于实际应用,精简理论,从理论与实践相结合的角度叙述智能图像处理技术,兼顾理论知识的同时,更注重具体实例的实现与应用。
以上特点可帮助初学者快速入门,提高他们对图像处理技术的兴趣,并使他们在短时间内掌握智能图像处理技术的要点。本书具有以下特点:
书中程序的调试工作由哈尔滨工程大学的王甫同学完成,为本书编著工作提供帮助的还有武超群、宋一兵、王献红、管殿柱等。
感谢你选择本书,希望我们的努力对你的工作和学习有所帮助,也希望你把对本书的意见和建议告诉我们。
本书利用Windows系统下的Anaconda搭建环境,并基于OpenCV框架和Python语言,详细阐述了智能化图像处理的实现方法。本书共12章,主要内容包括智能图像处理入门、Python基础、图像处理基础、图像几何变换、图像直方图处理、图像平滑滤波处理、图像阈值处理、图像形态学处理、图像分割处理、图像梯度及边缘检测、图像轮廓检测与拟合、人脸识别实现等,最后结合具体案例,使用Python语言和OpenCV库函数阐述图像处理技术。
循序渐进,易学易懂:本书按照由浅入深、循序渐进的原则编写,并与大量实例相结合,使读者可以边学边练,从而提高学习的兴趣与效率。
实例丰富,涉及面广:本书提供了丰富的OpenCV设计实例,内容涉及智能图像处理的多个领域。
兼顾原理,注重实用:本书侧重于实际应用,精简理论,从理论与实践相结合的角度叙述智能图像处理技术,兼顾理论知识的同时,更注重具体实例的实现与应用。
以上特点可帮助初学者快速入门,提高他们对图像处理技术的兴趣,并使他们在短时间内掌握智能图像处理技术的要点。本书具有以下特点:
书中程序的调试工作由哈尔滨工程大学的王甫同学完成,为本书编著工作提供帮助的还有武超群、宋一兵、王献红、管殿柱等。
感谢你选择本书,希望我们的努力对你的工作和学习有所帮助,也希望你把对本书的意见和建议告诉我们。
编 者
2020年3月
评论
还没有评论。