目 录
第 1章 初识数字图像处理与识别 1
1.1 数字图像 1
1.1.1 什么是数字图像 1
1.1.2 数字图像的显示 1
1.1.3 数字图像的分类 2
1.1.4 数字图像的实质 3
1.1.5 数字图像的表示 4
1.1.6 图像的空间分辨率和灰度级分辨率 4
1.2 数字图像处理与识别 6
1.2.1 从数字图像处理到数字图像识别 6
1.2.2 数字图像处理与识别的应用实例 7
1.2.3 数字图像处理与识别的基本步骤 7
1.3 数字图像处理的预备知识 9
1.3.1 邻接性、连通性、区域和边界 9
1.3.2 常见的距离度量方法 10
1.3.3 基本的图像操作 10
第 2章 MATLAB数字图像处理基础 12
2.1 MATLAB R2019a简介 12
2.1.1 MATLAB软件环境 12
2.1.2 文件操作 13
2.1.3 在线帮助的使用 14
2.1.4 变量的使用 16
2.1.5 矩阵的使用 19
2.1.6 细胞数组和结构体 21
2.1.7 关系运算与逻辑运算 22
2.1.8 常用的图像处理函数 23
2.1.9 MATLAB程序流程控制 24
2.1.10 M文件的编写 28
2.1.11 MATLAB函数的编写 28
2.2 MATLAB图像类型及其存储方式 30
2.3 MATLAB图像转换 33
2.4 读取和写入图像文件 35
2.5 图像的显示 37
第3章 图像的点运算 40
3.1 灰度直方图 40
3.1.1 理论基础 40
3.1.2 MATLAB实现 41
3.2 灰度的线性变换 43
3.2.1 理论基础 44
3.2.2 MATLAB实现 44
3.3 灰度的对数变换 47
3.3.1 理论基础 47
3.3.2 MATLAB实现 48
3.4 伽马变换 48
3.4.1 理论基础 49
3.4.2 MATLAB实现 49
3.5 灰度阈值变换 51
3.5.1 理论基础 51
3.5.2 MATLAB实现 52
3.6 分段线性变换 53
3.6.1 理论基础 53
3.6.2 MATLAB实现 54
3.7 直方图均衡化 58
3.7.1 理论基础 58
3.7.2 MATLAB实现 59
3.8 直方图规定化 61
3.8.1 理论基础 61
3.8.2 MATLAB实现 62
第4章 图像的几何变换 64
4.1 解决几何变换的一般思路 64
4.2 图像平移 65
4.2.1 图像平移的变换公式 66
4.2.2 图像平移的MATLAB实现 66
4.3 图像镜像 68
4.3.1 图像镜像的变换公式 68
4.3.2 图像镜像的MATLAB实现 68
4.4 图像转置 69
4.4.1 图像转置的变换公式 70
4.4.2 图像转置的MATLAB实现 70
4.5 图像缩放 70
4.5.1 图像缩放的变换公式 71
4.5.2 图像缩放的MATLAB实现 71
4.6 图像旋转 72
4.6.1 以原点为中心的图像旋转 72
4.6.2 以任意点为中心的图像旋转 73
4.6.3 图像旋转的MATLAB实现 74
4.7 插值算法 75
4.7.1 最近邻插值 75
4.7.2 双线性插值 76
4.7.3 高阶插值 77
4.8 MATLAB综合案例—人脸图像
配准 79
4.8.1 什么是图像配准 79
4.8.2 人脸图像配准的MATLAB实现 79
第5章 空域图像增强 83
5.1 图像增强基础 83
5.1.1 为什么要进行图像增强 83
5.1.2 图像增强的分类 83
5.2 空域滤波 84
5.2.1 空域滤波和邻域处理 84
5.2.2 边界处理 85
5.2.3 相关和卷积 86
5.2.4 滤波操作的MATLAB实现 86
5.3 图像平滑 88
5.3.1 平均模板及其实现 88
5.3.2 高斯平滑及其实现 90
5.3.3 自适应平滑滤波 92
5.4 中值滤波 93
5.4.1 性能比较 93
5.4.2 一种改进的中值滤波策略 95
5.4.3 中值滤波的工作原理 95
5.5 图像锐化 96
5.5.1 理论基础 96
5.5.2 基于一阶导数的图像增强—
梯度算子 96
5.5.3 基于二阶微分的图像增强—
拉普拉斯算子 99
5.5.4 基于一阶与二阶导数的锐化
算子的比较 101
5.5.5 高提升滤波及其实现 102
5.5.6 高斯-拉普拉斯变换 104
第6章 频域图像增强 106
6.1 频域滤波—与空域滤波殊途同归 106
6.2 傅里叶变换的基础知识 106
6.2.1 傅里叶级数 106
6.2.2 傅里叶变换 108
6.2.3 幅度谱、相位谱和功率谱 110
6.2.4 傅里叶变换的实质—基的
转换 111
6.3 快速傅里叶变换及其实现 113
6.3.1 FFT变换的必要性 113
6.3.2 常见的FFT算法 114
6.3.3 按时间抽取的基 2 FFT算法 114
6.3.4 离散傅里叶反变换的快速算法 118
6.3.5 N维快速傅里叶变换 118
6.3.6 MATLAB实现 118
6.4 频域滤波的基础知识 122
6.4.1 频域滤波与空域滤波的关系 122
6.4.2 频域滤波的基本步骤 123
6.4.3 频域滤波的MATLAB实现 124
6.5 频域低通滤波器 124
6.5.1 理想低通滤波器及其实现 125
6.5.2 高斯低通滤波器及其实现 127
6.6 频域高通滤波器 131
6.6.1 高斯高通滤波器及其实现 131
6.6.2 频域拉普拉斯滤波器及其实现 133
6.7 MATLAB综合案例—利用频域带
阻滤波器消除周期噪声 135
6.7.1 频域带阻滤波器 135
6.7.2 利用带阻滤波器消除周期噪声 136
6.8 频域滤波器与空域滤波器之间的
内在联系 139
第7章 小波变换 142
7.1 多分辨率分析 142
7.1.1 多分辨率框架 142
7.1.2 分解与重构的实现 148
7.1.3 图像处理中分解与重构的实现 150
7.2 Gabor多分辨率分析 155
7.3 常见小波分析 159
7.3.1 Haar小波 159
7.3.2 Daubechies小波 161
7.4 高维小波 164
第8章 图像复原 166
8.1 图像复原的一般理论 166
8.1.1 图像复原的基本概念 166
8.1.2 图像复原的一般模型 167
8.2 实用的图像复原技术 184
8.2.1 图像复原的数值计算方法 184
8.2.2 非线性复原 187
第9章 彩色图像处理 190
9.1 色彩基础 190
9.1.1 什么是色彩 190
9.1.2 人眼中的色彩 191
9.1.3 三原色 191
9.1.4 计算机中颜色的表示 192
9.2 色彩模型 193
9.2.1 RGB模型 193
9.2.2 CMY/CMYK模型 194
9.2.3 HSI模型 196
9.2.4 HSV模型 200
9.2.5 YUV模型 202
9.2.6 YIQ模型 205
9.2.7 Lab模型 207
9.3 全彩色图像处理基础 207
9.3.1 彩色补偿及其MATLAB实现 207
9.3.2 彩色平衡及其MATLAB实现 210
第 10章 形态学图像处理 212
10.1 预备知识 212
10.2 二值图像中的基本形态学运算 213
10.2.1 腐蚀及其实现 214
10.2.2 膨胀及其实现 218
10.2.3 开运算及其实现 221
10.2.4 闭运算及其实现 222
10.3 二值图像中的形态学应用 223
10.3.1 击中与击不中变换及其实现 224
10.3.2 边界提取与跟踪及其实现 226
10.3.3 区域填充 227
10.3.4 连通分量提取及其实现 229
10.3.5 细化算法 232
10.3.6 像素化算法 233
10.3.7 凸壳 234
10.3.8 bwmorph函数 235
10.4 灰度图像中的基本形态学运算 235
10.4.1 灰度膨胀及其实现 236
10.4.2 灰度腐蚀及其实现 238
10.4.3 灰度开运算和灰度闭运算及其实现 240
10.4.4 顶帽变换及其实现 241
10.5 小结 243
第 11章 图像分割 244
11.1 图像分割概述 244
11.2 边缘检测 245
11.2.1 边缘检测概述 245
11.2.2 常用的边缘检测算子 245
11.2.3 MATLAB实现 248
11.3 霍夫变换 251
11.3.1 直线检测 251
11.3.2 曲线检测 253
11.3.3 任意形状的检测 254
11.3.4 利用霍夫变换做直线检测的
MATLAB实现 254
11.4 阈值分割 257
11.4.1 阈值分割方法 258
11.4.2 MATLAB实现 261
11.5 区域分割 261
11.5.1 区域生长及其实现 262
11.5.2 区域分裂与合并及其MATLAB实现 264
11.6 基于形态学分水岭算法的图像分割 268
11.6.1 形态学分水岭算法 269
11.6.2 MATLAB实现 271
11.7 MATLAB综合案例—分水岭算法 271
11.8 小结 277
第 12章 特征提取 278
12.1 图像特征概述 278
12.1.1 什么是图像特征 278
12.1.2 图像特征的分类 278
12.1.3 特征向量及其几何解释 278
12.1.4 特征提取的一般原则 279
12.1.5 特征的评价标准 279
12.2 基本统计特征 280
12.2.1 简单的区域描绘子及其MATLAB实现 280
12.2.2 直方图及其统计特征 281
12.2.3 灰度共现矩阵 283
12.3 特征降维 286
12.3.1 维度灾难 286
12.3.2 特征选择简介 287
12.3.3 主成分分析 288
12.3.4 快速PCA及其实现 294
12.4 综合案例—基于PCA的人脸特征抽取 296
12.4.1 数据集简介 296
12.4.2 生成样本矩阵 296
12.4.3 主成分分析 297
12.4.4 主成分脸的可视化分析 298
12.4.5 基于主成分分量的人脸重建 300
12.5 局部二进制模式 301
12.5.1 基本LBP算子 301
12.5.2 圆形邻域的LBPP,R算子 302
12.5.3 统一化LBP及其MATLAB实现 303
12.5.4 MB-LBP及其MATLAB实现 306
12.5.5 图像分区及其MATLAB实现 311
第 13章 图像识别初步 314
13.1 模式识别概述 314
13.1.1 模式与模式识别 314
13.1.2 图像识别 314
13.1.3 关键概念 315
13.1.4 模式识别问题的一般描述 316
13.1.5 过度拟合 317
13.1.6 模式识别系统的结构 317
13.1.7 训练/学习方法的分类 317
13.2 模式识别方法的分类 318
13.2.1 统计模式识别 318
13.2.2 句法模式识别 318
13.2.3 小结 319
13.3 最小距离分类器和模板匹配 320
13.3.1 最小距离分类器及其MATLAB实现 320
13.3.2 基于相关的模板匹配 321
13.3.3 相关匹配的计算效率 324
第 14章 人工神经网络 326
14.1 人工神经网络简介 326
14.1.1 仿生学动机 326
14.1.2 人工神经网络的应用实例 328
14.2 人工神经网络的理论基础 328
14.2.1 训练线性单元的梯度下降算法 329
14.2.2 多层人工神经网络 334
14.2.3 sigmoid单元 334
14.2.4 反向传播算法 335
14.2.5 训练中的问题 339
14.3 神经网络算法的可视化实现 340
14.3.1 NNTool的主要功能及应用 340
14.3.2 神经网络的仿真测试 343
14.4 MATLAB神经网络工具箱 346
14.4.1 网络创建 346
14.4.2 网络初始化 347
14.4.3 网络训练 347
14.4.4 网络仿真测试 348
14.4.5 网络性能分析 348
第 15章 支持向量机 349
15.1 支持向量机的分类思想 349
15.1.1 分类模型的选择 349
15.1.2 模型参数的选择 350
15.2 支持向量机的理论基础 350
15.2.1 线性可分情况下的SVM 350
15.2.2 非线性可分情况下的C-SVM 353
15.2.3 需要核函数映射情况下的SVM 356
15.2.4 推广到多分类问题 359
15.3 SVM的MATLAB实现 360
15.3.1 训练—svmtrain函数 360
15.3.2 分类—svmclassify函数 362
15.3.3 应用实例 362
15.4 综合案例—基于PCA和SVM的人脸识别系统 363
15.4.1 人脸识别简介 363
15.4.2 前期处理 364
15.4.3 数据规格化 364
15.4.4 核函数的选择 367
15.4.5 参数选择 368
15.4.6 构建多类SVM分类器 370
15.4.7 实验结果 372
15.5 SVM在线资源 378
15.5.1 SVM工具箱 378
15.5.2 LIBSVM简介 379
第 16章 AdaBoost 380
16.1 AdaBoost分类思想 380
16.1.1 AdaBoost算法的提出背景 380
16.1.2 AdaBoost算法的分类模型 381
16.1.3 AdaBoost算法的流程 381
16.2 AdaBoost理论基础 382
推广到多分类问题 384
16.3 构建AdaBoost的MATLAB工具箱 385
16.4 MATLAB综合案例—基于AdaBoost的面部图像男女性别分类 388
16.4.1 关于数据集 388
16.4.2 数据的预处理 389
16.4.3 算法流程的实现 389
第 17章 三维图像基础 391
17.1 三维信息基础 391
17.1.1 三维空间 391
17.1.2 三维图像 392
17.2 三维图像绘制 393
17.2.1 三维曲线图 393
17.2.2 三维网格图 393
17.2.3 其他三维立体化信息展示方式 396
17.3 三维数据聚类 397
17.3.1 聚类分析基础 397
17.3.2 K均值聚类 398
第 18章 深度学习 402
18.1 深度学习理论基础 402
18.1.1 什么是深度学习 402
18.1.2 深度学习中的重要概念 403
18.2 MATLAB深度学习工具箱 404
18.2.1 MATLAB深度学习工具箱简介 404
18.2.2 MATLAB深度学习工具箱中的深度学习函数介绍 405
18.3 使用MATLAB深度学习工具箱解决机器视觉问题 409
18.3.1 MATLAB深度学习工具箱中常用的预训练模型 409
18.3.2 使用预训练模型对图像进行分类 410
18.3.3 使用预训练的神经网络对图像进行去噪 412
18.4 案例分析:目标检测 413
参考文献 420