作者 |
赵云龙 葛广英 |
丛书名 |
重点大学计算机教材 |
出版社 |
机械工业出版社 |
ISBN |
9787111694038 |
简要 |
简介 |
内容简介书籍计算机书籍 本书主要以Python+OpenCV为主,系统地介绍了Python在数字图像处理的各种应用算法和案例,对数字图像处理的各种算法进行讲解和案例分析,以方面读者后期继续进行人工智能、机器学习、深度学习等方面的学习和研究,不再需要更换编程语言和编程环境。 本书主要以介绍图像处理技术和应用实例为主,每个处理技术后面跟着至少一个应用实例,全书共给出189个应用实例程序,每个实例均已通过作者的调试,能够运行正常,读者可直接引用。 |
目录 |
前言 第1章 图像处理环境 1 1.1 图像处理简介 1 1.1.1 图像处理的应用领域 1 1.1.2 图像处理的常用方法 3 1.2 Python数字图像处理库 4 1.3 Python集成环境的安装 5 1.3.1 Anaconda集成环境的下载与安装 6 1.3.2 PyCharm集成环境的下载与安装 10 1.4 习题 14 第2章 数字图像的获取和基本运算 15 2.1 图像的基本类型 15 2.1.1 二值图像 15 2.1.2 灰度图像 16 2.1.3 索引图像 16 2.1.4 彩色图像 16 2.2 单幅图像的获取 17 2.2.1 图像的读取 17 2.2.2 图像的显示 18 2.2.3 图像的保存 18 2.2.4 图像的属性 19 2.3 视频图像的获取 19 2.3.1 视频文件的读写 20 2.3.2 实时视频图像的获取 20 2.4 图像的算术运算 22 2.4.1 加法运算 22 2.4.2 减法运算 25 2.4.3 乘法运算 27 2.4.4 除法运算 28 2.5 图像的逻辑运算 30 2.5.1 按位与运算 30 2.5.2 按位或运算 30 2.5.3 按位非运算 32 2.5.4 按位异或运算 33 2.5.5 综合实例 34 2.6 习题 34 第3章 数字图像的几何运算 36 3.1 图像平移 36 3.1.1 显示窗口改变的图像平移 37 3.1.2 显示窗口不变的图像平移 38 3.1.3 仿射变换的应用实例 38 3.2 图像缩放 39 3.3 图像旋转 41 3.4 图像剪切 43 3.5 图像的镜像变换 46 3.6 图像的透视变换 47 3.7 图像的极坐标变换 47 3.7.1 数据点坐标系间的转换 48 3.7.2 图像数据坐标系间的转换 48 3.7.3 视频图像坐标系间的转换 49 3.8 习题 51 第4章 图像空域增强 52 4.1 灰度线性变换 52 4.1.1 用OpenCV做灰度变换与颜色空间变换 52 4.1.2 增加或降低图像亮度 54 4.1.3 增强或减弱图像对比度 55 4.1.4 图像反色变换 56 4.2 非线性变换 58 4.2.1 对数变换 58 4.2.2 伽马变换 59 4.3 图像噪声 60 4.3.1 通过Numpy数组库添加噪声 61 4.3.2 通过skimage库添加噪声 65 4.4 直方图均衡化 67 4.4.1 使用Matplotlib库绘制图像直方图 67 4.4.2 使用OpenCV中的函数绘制直方图 69 4.4.3 自定义函数实现直方图均衡化 70 4.4.4 使用OpenCV函数实现直方图均衡化 71 4.4.5 自适应直方图均衡化 73 4.5 直方图规定化 74 4.5.1 自定义映像函数实现直方图规定化 74 4.5.2 直方图反向投影 78 4.6 习题 79 第5章 图像空域滤波 81 5.1 空域滤波 81 5.2 图像平滑 82 5.2.1 均值滤波 82 5.2.2 方框滤波 83 5.2.3 高斯滤波 84 5.2.4 中值滤波 86 5.2.5 双边滤波 87 5.3 图像锐化 89 5.3.1 拉普拉斯滤波 89 5.3.2 自定义卷积核滤波 91 5.3.3 非锐化掩模和高频提升滤波 93 5.4 习题 94 第6章 图像频域滤波 95 6.1 傅里叶变换 95 6.1.1 Numpy中的傅里叶变换 95 6.1.2 OpenCV中的傅里叶变换 96 6.2 低通滤波 98 6.2.1 理想低通滤波 98 6.2.2 巴特沃斯低通滤波 100 6.2.3 高斯低通滤波 102 6.3 高通滤波 103 6.3.1 理想高通滤波 104 6.3.2 巴特沃斯高通滤波 105 6.3.3 高斯高通滤波 107 6.4 带通和带阻滤波 109 6.4.1 带通滤波 109 6.4.2 带阻滤波 112 6.5 同态滤波 115 6.6 习题 116 第7章 图像退化和复原 117 7.1 图像退化与复原的机理 117 7.2 图像的运动模糊 118 7.3 图像的逆滤波 120 7.4 图像的维纳滤波 122 7.5 图像质量的评价 125 7.6 习题 133 第8章 图像数学形态学 134 8.1 结构元素 134 8.1.1 使用OpenCV生成结构元素 134 8.1.2 使用Numpy生成结构元素 135 8.2 腐蚀 136 8.2.1 OpenCV中的腐蚀函数 136 8.2.2 skimage中的腐蚀函数 137 8.3 膨胀 138 8.3.1 OpenCV中的膨胀函数 138 8.3.2 skimage中的膨胀函数 139 8.3.3 OpenCV形态学处理原型函数 140 8.4 开运算 141 8.4.1 OpenCV中的开运算 141 8.4.2 skimage中的开运算 142 8.5 闭运算 143 8.5.1 OpenCV中的闭运算 143 8.5.2 skimage中的闭运算 144 8.6 高帽运算 145 8.6.1 OpenCV中的高帽运算 145 8.6.2 skimage中的高帽运算 146 8.7 黑帽运算 146 8.7.1 OpenCV中的黑帽运算 146 8.7.2 skimage中的黑帽运算 147 8.8 形态学梯度 148 8.9 灰度形态学 151 8.9.1 灰度图像的腐蚀运算 151 8.9.2 灰度图像的膨胀运算 151 8.9.3 灰度图像的开运算和闭运算 152 8.10 形态学运算检测图像的边缘和角点 153 8.10.1 检测图像边缘 154 8.10.2 检测图像角点 155 8.11 击中与击不中运算 156 8.12 习题 157 第9章 边缘检测 159 9.1 边缘检测简介 159 9.2 Roberts算子 160 9.3 Prewitt算子 162 9.4 Sobel算子 164 9.5 拉普拉斯算子 165 9.6 Canny算子 168 9.7 Scharr算子 171 9.8 Kirsch和Robinson算子 173 9.9 高斯拉普拉斯算子 176 9.10 高斯差分算子 178 9.11 霍夫变换 179 9.11.1 使用霍夫变换检测直线 179 9.11.2 使用霍夫变换检测圆环 182 9.12 图像金字塔 184 9.12.1 高斯金字塔 185 9.12.2 拉普拉斯金字塔 186 9.13 习题 188 第10章 图像分割 189 10.1 图像阈值分割 189 10.1.1 全局阈值分割 190 10.1.2 自适应阈值 191 10.1.3 Otsu’s二值化 192 10.2 图像区域分割 193 10.2.1 区域生长 194 10.2.2 区域分裂合并 196 10.3 图像的边缘分割 198 10.4 直方图分割法 199 10.5 图像连接组件标记算法 201 10.6 分水岭算法 204 10.7 习题 208 第11章 彩色图像的处理 209 11.1 彩色模型 209 11.1.1 RGB彩色模型 209 11.1.2 CMY和CMYK彩色模型 210 11.1.3 HSI彩色模型 211 11.1.4 YIQ彩色模型 213 11.1.5 YCrCb彩色模型 213 11.2 色彩空间类型转换 213 11.2.1 色彩空间类型转换函数 213 11.2.2 RGB色彩空间 214 11.2.3 GRAY色彩空间 214 11.2.4 YCrCb色彩空间 215 11.2.5 HSV色彩空间 216 11.3 彩色图像通道的分离与合并 217 11.3.1 彩色图像通道的分离 218 11.3.2 彩色图像通道的合并 219 11.4 全彩色图像处理 220 11.4.1 彩色变换 220 11.4.2 直方图处理 221 11.4.3 彩色图像的平滑和锐化 222 11.4.4 基于彩色的图像分割 225 11.5 习题 229 第12章 图像特征的提取与描述 230 12.1 图像特征简介 230 12.2 图像轮廓特征 230 12.2.1 图像轮廓的查找和绘制 231 12.2.2 带噪声的轮廓 232 12.2.3 边缘检测后的轮廓 234 12.3 图像的几何特征 234 12.3.1 面积与周长 235 12.3.2 外接矩形 236 12.3.3 最小外接圆和椭圆 237 12.3.4 近似轮廓 239 12.3.5 轮廓凸包 240 12.3.6 拟合直线 241 12.3.7 形状特征 242 12.4 图像特征矩 243 12.4.1 图像特征矩简介 244 12.4.2 Hu矩 246 12.4.3 形状匹配 249 12.5 图像的角点检测 251 12.5.1 Harris角点检测 251 12.5.2 SIFT角点检测 253 12.5.3 SURF特征检测算法 254 12.6 图像匹配 256 12.6.1 ORB特征检测+暴力匹配 256 12.6.2 特征匹配关键点的获取 258 12.6.3 K-最近邻匹配 259 12.6.4 FLANN匹配 260 12.7 综合实例 262 12.7.1 利用SIFT+KNN匹配算法实现图像拼接 262 12.7.2 利用SIFT+暴力匹配算法实现图像拼接 265 12.7.3 搜索匹配的图像 267 12.8 习题 270 第13章 综合应用实例 272 13.1 使用OpenCV进行车牌提取及识别 272 13.1.1 车牌的提取过程 273 13.1.2 车牌的检测与提取 274 13.1.3 字符分割 276 13.1.4 基于Haar特征分类器的车牌检测 278 13.1.5 字符识别 279 13.2 人脸检测 281 13.2.1 图像预处理 281 13.2.2 Haar特征分类器 282 13.2.3 人脸检测程序 282 13.3 答题卡的检测与分割 284 13.3.1 答题卡轮廓检测 284 13.3.2 答题卡不同区域的提取 285 13.3.3 识别填涂答案 287 13.3.4 答题卡用户界面的设计与封装 290 13.4 基于CNN模型的手势识别 293 13.4.1 手势图像数据的采集 294 13.4.2 神经网络模型的创建与训练 296 13.4.3 实时手势数字的识别 298 13.5 基于深度学习的花卉识别系统 299 13.5.1 花卉图像数据的采集 300 13.5.2 数据集的分类 300 13.5.3 MobileNet神经网络模型的设计与测试 302 13.5.4 图形用户界面的设计 305 13.6 口罩佩戴的检测 309 13.6.1 口罩数据集的采集与处理 309 13.6.2 数据集的划分 313 13.6.3 数据集的训练 314 13.6.4 检测是否佩戴口罩 317 13.6.5 视频实时监测口罩佩戴情况 317 参考文献 320 |