书籍详情
OpenCV图像处理技术(微课版)
作者:傅贤君
出版社:电子工业出版社
出版时间:2023-05-01
ISBN:9787121455520
定价:¥58.00
购买这本书可以去
内容简介
本书通过项目化的教学模式,采用“任务驱动、案例教学、探究实践”的教学方法组织编写而成,可以培养学生的动手能力,充分发挥学生的 作用。本书系统地介绍了图像处理基础、图像运算、图像增强、图像分析4个方面的相关知识,内容包括数字图像处理基础、图像运算、色彩空间与几何变换、阈值处理与图像平滑、形态学操作、图像梯度与边缘检测、图像金字塔、图像轮廓、图像直方图、模板匹配与霍夫变换、图像分割与提取、视频处理,同时结合综合实战,注重理论联系实际,培养学生的综合实践能力。案例选取贴近岗位真实应用,以“任务目标→任务场景→任务准备→任务演练→任务巩固”的设计思路,深入解析计算机视觉的方式与方法,引导学生崇德尚能、知行合一、服务社会,形成良好的职业素养。
作者简介
傅贤君(1994.5―),男、东北大学硕士毕业,人工智能技术应用专业负责人,从事图像算法开发多年,具有丰富的图像识别、分割及目标检测领域相关知识,在 外知名会议、期刊发表相关论文多篇,拥有专利5项。
目录
项目1 数字图像处理基础 1
任务1 数字图像处理简介 1
1.1.1 数字图像处理的概念 2
1.1.2 数字图像处理的应用领域 4
任务2 OpenCV的安装配置 7
1.2.1 OpenCV简介 7
1.2.2 Python的安装配置 8
1.2.3 Numpy的安装配置 11
1.2.4 OpenCV库的安装配置 11
1.2.5 Jupyter Notebook的安装与使用 12
任务3 读取图像、显示图像、保存图像 15
1.3.1 读取图像 16
1.3.2 显示图像 16
1.3.3 保存图像 17
任务4 图像的属性与图像像素级操作 18
1.4.1 图像的属性 18
1.4.2 图像像素级操作 19
项目2 图像运算 22
任务1 图像算术运算 22
2.1.1 图像算术运算的概念 23
2.1.2 图像加法 23
2.1.3 图像减法 24
任务2 图像淡入淡出效果 27
任务3 图像逻辑运算 28
2.3.1 按位与运算 29
2.3.2 按位或运算 30
2.3.3 按位非运算 31
2.3.4 按位异或运算 31
任务4 面部加密及解码 34
项目3 色彩空间与几何变换 39
任务1 图像类型转换 39
3.1.1 RGB色彩空间 40
3.1.2 GRAY色彩空间 41
3.1.3 HSV色彩空间 41
3.1.4 图像类型转换函数 42
任务2 提取 颜色的物体 44
3.2.1 HSV色彩空间的进阶知识 44
3.2.2 标记 颜色 45
任务3 简单的几何变换 48
3.3.1 缩放图像 48
3.3.2 翻转图像 50
3.3.3 平移图像 50
3.3.4 旋转图像 51
任务4 图像几何矫正 54
项目4 阈值处理与图像平滑 57
任务1 阈值处理基础 57
4.1.1 简单阈值法 58
4.1.2 Otsu阈值法 59
4.1.3 自适应阈值法 59
任务2 使用滑动条调整阈值 62
4.2.1 cv2.createTrackbar()函数 63
4.2.2 cv2.getTrackbarPos()函数 63
任务3 平滑处理基础 65
4.3.1 均值滤波 65
4.3.2 高斯滤波 66
4.3.3 中值滤波 66
4.3.4 双边滤波 67
任务4 使用滑动条进行平滑处理 70
项目5 形态学操作 73
任务1 腐蚀与膨胀 73
5.1.1 结构元 74
5.1.2 腐蚀 74
5.1.3 膨胀 75
任务2 通用形态学函数 77
任务3 形态学结构元 81
任务4 去除电子书笔记中的注释 83
项目6 图像梯度与边缘检测 85
?任务1 使用Sobel算子进行边缘检测 85
6.1.1 图像梯度的概念 86
6.1.2 Sobel算子 86
6.1.3 cv2.convertScaleAbs()函数 87
任务2 使用Laplacian算子进行边缘检测 89
任务3 Canny边缘检测算法 91
6.3.1 Canny边缘检测算法的概念 92
6.3.2 cv2.Canny()函数 92
任务4 实战:车道检测 94
项目7 图像金字塔 97
任务1 图像金字塔与高斯金字塔 97
7.1.1 图像金字塔的概念 98
7.1.2 高斯金字塔 98
任务2 拉普拉斯金字塔 100
任务3 还原高分辨率的图像 103
任务4 使用图像金字塔进行图像融合 106
项目8 图像轮廓 109
任务1 查找与绘制图像轮廓 109
8.1.1 查找图像轮廓 110
8.1.2 绘制图像轮廓 110
任务2 计算轮廓长度与面积 112
8.2.1 轮廓长度的计算方法 113
8.2.2 轮廓面积的计算方法 113
任务3 实现形状匹配 115
任务4 轮廓的几何形状拟合 116
8.4.1 矩形包围框 117
8.4.2 小外接矩形框 117
8.4.3 小包围圆形 118
8.4.4 逼近多边形 118
任务5 绘制凸包 122
任务6 凸缺陷检测 124
任务7 实战:轮廓分类 126
8.7.1 宽高比 126
8.7.2 占空比 126
项目9 图像直方图 128
任务1 绘制直方图 128
9.1.1 图像直方图 129
9.1.2 绘制图像直方图 129
任务2 直方图均衡化 131
9.2.1 直方图均衡化的概念 132
9.2.2 自适应直方图均衡化 132
任务3 直方图比较 134
任务4 直方图阈值分割 136
项目10 模板匹配与霍夫变换 139
任务1 模板匹配的概念 139
10.1.1 模板匹配 140
10.1.2 cv2.matchTemplate()函数 140
10.1.3 cv2.minMaxLoc()函数 141
任务2 实战:印花检测 142
任务3 霍夫变换的概念 144
10.3.1 霍夫线变换 145
10.3.2 霍夫圆变换 145
任务4 实战:车道检测进阶 147
项目11 图像分割与提取 150
任务1 图像分割与提取的概念 150
11.1.1 基于阈值的分割方法 151
11.1.2 基于区域的分割方法 151
11.1.3 基于边缘的分割方法 151
11.1.4 基于特定理论的分割方法 151
11.1.5 基于神经网络的分割方法 152
任务2 实现分水岭算法 153
11.2.1 分水岭算法的概念 154
11.2.2 分水岭算法的步骤 154
11.2.3 距离变换函数 154
11.2.4 图像标注函数 155
11.2.5 分水岭算法函数 155
任务3 鼠标交互 160
任务4 实现区域生长算法 163
11.4.1 区域生长算法的原理 163
11.4.2 灰度差值的区域生长算法实现 163
项目12 视频处理 167
任务1 视频处理基础 167
12.1.1 cv2.VideoCapture()函数 168
12.1.2 捕获帧 168
12.1.3 释放帧 168
任务2 保存视频 170
任务3 对视频进行逐帧处理 171
任务4 实战:口罩佩戴检测 173
12.4.1 口罩佩戴检测模型简介 173
12.4.2 口罩佩戴检测模型分析 174
项目13 综合实战 176
任务1 产品缺陷检测 176
13.1.1 背景介绍 177
13.1.2 逻辑框示意图 177
13.1.3 高斯滤波 177
13.1.4 图像二值化 178
13.1.5 形态学操作 178
13.1.6 瑕疵判断 178
任务2 图像拼接 182
13.2.1 背景介绍 183
13.2.2 逻辑框示意图 183
13.2.3 SIFT角点检测算法 183
13.2.4 Brute-Force匹配 184
13.2.5 图像融合 185
任务3 人脸检测与人脸识别 188
13.3.1 背景介绍 188
13.3.2 逻辑框示意图 188
13.3.3 cv2.CascadeClassifier()函数 188
13.3.4 faceCascade.detectMultiScale()函数 189
任务4 人体目标跟踪检测 193
13.4.1 背景介绍 193
13.4.2 逻辑框示意图 193
13.4.3 OpenCV目标追踪算法 194
任务1 数字图像处理简介 1
1.1.1 数字图像处理的概念 2
1.1.2 数字图像处理的应用领域 4
任务2 OpenCV的安装配置 7
1.2.1 OpenCV简介 7
1.2.2 Python的安装配置 8
1.2.3 Numpy的安装配置 11
1.2.4 OpenCV库的安装配置 11
1.2.5 Jupyter Notebook的安装与使用 12
任务3 读取图像、显示图像、保存图像 15
1.3.1 读取图像 16
1.3.2 显示图像 16
1.3.3 保存图像 17
任务4 图像的属性与图像像素级操作 18
1.4.1 图像的属性 18
1.4.2 图像像素级操作 19
项目2 图像运算 22
任务1 图像算术运算 22
2.1.1 图像算术运算的概念 23
2.1.2 图像加法 23
2.1.3 图像减法 24
任务2 图像淡入淡出效果 27
任务3 图像逻辑运算 28
2.3.1 按位与运算 29
2.3.2 按位或运算 30
2.3.3 按位非运算 31
2.3.4 按位异或运算 31
任务4 面部加密及解码 34
项目3 色彩空间与几何变换 39
任务1 图像类型转换 39
3.1.1 RGB色彩空间 40
3.1.2 GRAY色彩空间 41
3.1.3 HSV色彩空间 41
3.1.4 图像类型转换函数 42
任务2 提取 颜色的物体 44
3.2.1 HSV色彩空间的进阶知识 44
3.2.2 标记 颜色 45
任务3 简单的几何变换 48
3.3.1 缩放图像 48
3.3.2 翻转图像 50
3.3.3 平移图像 50
3.3.4 旋转图像 51
任务4 图像几何矫正 54
项目4 阈值处理与图像平滑 57
任务1 阈值处理基础 57
4.1.1 简单阈值法 58
4.1.2 Otsu阈值法 59
4.1.3 自适应阈值法 59
任务2 使用滑动条调整阈值 62
4.2.1 cv2.createTrackbar()函数 63
4.2.2 cv2.getTrackbarPos()函数 63
任务3 平滑处理基础 65
4.3.1 均值滤波 65
4.3.2 高斯滤波 66
4.3.3 中值滤波 66
4.3.4 双边滤波 67
任务4 使用滑动条进行平滑处理 70
项目5 形态学操作 73
任务1 腐蚀与膨胀 73
5.1.1 结构元 74
5.1.2 腐蚀 74
5.1.3 膨胀 75
任务2 通用形态学函数 77
任务3 形态学结构元 81
任务4 去除电子书笔记中的注释 83
项目6 图像梯度与边缘检测 85
?任务1 使用Sobel算子进行边缘检测 85
6.1.1 图像梯度的概念 86
6.1.2 Sobel算子 86
6.1.3 cv2.convertScaleAbs()函数 87
任务2 使用Laplacian算子进行边缘检测 89
任务3 Canny边缘检测算法 91
6.3.1 Canny边缘检测算法的概念 92
6.3.2 cv2.Canny()函数 92
任务4 实战:车道检测 94
项目7 图像金字塔 97
任务1 图像金字塔与高斯金字塔 97
7.1.1 图像金字塔的概念 98
7.1.2 高斯金字塔 98
任务2 拉普拉斯金字塔 100
任务3 还原高分辨率的图像 103
任务4 使用图像金字塔进行图像融合 106
项目8 图像轮廓 109
任务1 查找与绘制图像轮廓 109
8.1.1 查找图像轮廓 110
8.1.2 绘制图像轮廓 110
任务2 计算轮廓长度与面积 112
8.2.1 轮廓长度的计算方法 113
8.2.2 轮廓面积的计算方法 113
任务3 实现形状匹配 115
任务4 轮廓的几何形状拟合 116
8.4.1 矩形包围框 117
8.4.2 小外接矩形框 117
8.4.3 小包围圆形 118
8.4.4 逼近多边形 118
任务5 绘制凸包 122
任务6 凸缺陷检测 124
任务7 实战:轮廓分类 126
8.7.1 宽高比 126
8.7.2 占空比 126
项目9 图像直方图 128
任务1 绘制直方图 128
9.1.1 图像直方图 129
9.1.2 绘制图像直方图 129
任务2 直方图均衡化 131
9.2.1 直方图均衡化的概念 132
9.2.2 自适应直方图均衡化 132
任务3 直方图比较 134
任务4 直方图阈值分割 136
项目10 模板匹配与霍夫变换 139
任务1 模板匹配的概念 139
10.1.1 模板匹配 140
10.1.2 cv2.matchTemplate()函数 140
10.1.3 cv2.minMaxLoc()函数 141
任务2 实战:印花检测 142
任务3 霍夫变换的概念 144
10.3.1 霍夫线变换 145
10.3.2 霍夫圆变换 145
任务4 实战:车道检测进阶 147
项目11 图像分割与提取 150
任务1 图像分割与提取的概念 150
11.1.1 基于阈值的分割方法 151
11.1.2 基于区域的分割方法 151
11.1.3 基于边缘的分割方法 151
11.1.4 基于特定理论的分割方法 151
11.1.5 基于神经网络的分割方法 152
任务2 实现分水岭算法 153
11.2.1 分水岭算法的概念 154
11.2.2 分水岭算法的步骤 154
11.2.3 距离变换函数 154
11.2.4 图像标注函数 155
11.2.5 分水岭算法函数 155
任务3 鼠标交互 160
任务4 实现区域生长算法 163
11.4.1 区域生长算法的原理 163
11.4.2 灰度差值的区域生长算法实现 163
项目12 视频处理 167
任务1 视频处理基础 167
12.1.1 cv2.VideoCapture()函数 168
12.1.2 捕获帧 168
12.1.3 释放帧 168
任务2 保存视频 170
任务3 对视频进行逐帧处理 171
任务4 实战:口罩佩戴检测 173
12.4.1 口罩佩戴检测模型简介 173
12.4.2 口罩佩戴检测模型分析 174
项目13 综合实战 176
任务1 产品缺陷检测 176
13.1.1 背景介绍 177
13.1.2 逻辑框示意图 177
13.1.3 高斯滤波 177
13.1.4 图像二值化 178
13.1.5 形态学操作 178
13.1.6 瑕疵判断 178
任务2 图像拼接 182
13.2.1 背景介绍 183
13.2.2 逻辑框示意图 183
13.2.3 SIFT角点检测算法 183
13.2.4 Brute-Force匹配 184
13.2.5 图像融合 185
任务3 人脸检测与人脸识别 188
13.3.1 背景介绍 188
13.3.2 逻辑框示意图 188
13.3.3 cv2.CascadeClassifier()函数 188
13.3.4 faceCascade.detectMultiScale()函数 189
任务4 人体目标跟踪检测 193
13.4.1 背景介绍 193
13.4.2 逻辑框示意图 193
13.4.3 OpenCV目标追踪算法 194
猜您喜欢