第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 图像的空间和灰度级分辨率 5
1.2 数字图像处理与识别 6
1.2.1 从图像处理到图像识别 6
1.2.2 数字图像处理与识别的应用实例 7
1.2.3 数字图像处理与识别的基本步骤 9
1.3 数字图像处理的预备知识 10
1.3.1 邻接性、连通性、区域和边界 10
1.3.2 距离度量的几种方法 11
1.3.3 基本的图像操作 12
第2章 Matlab数字图像处理基础 13
2.1 Matlab R2011a简介 13
2.1.1 Matlab软件环境 13
2.1.2 文件操作 14
2.1.3 在线帮助的使用 15
2.1.4 变量的使用 18
2.1.5 矩阵的使用 20
2.1.6 细胞数组和结构体 23
2.1.7 关系运算与逻辑运算 24
2.1.8 常用图像处理数学函数 25
2.1.9 Matlab程序流程控制 26
2.1.10 M文件编写 29
2.1.11 Matlab函数编写 30
2.2 Matlab图像类型及其存储方式 32
2.3 Matlab的图像转换 35
2.4 读取和写入图像文件 37
2.5 图像的显示 39
第3章 图像的点运算 42
3.1 灰度直方图 42
3.1.1 理论基础 42
3.1.2 Matlab实现 43
3.2 灰度的线性变换 46
3.2.1 理论基础 46
3.2.2 Matlab实现 46
3.3 灰度对数变换 49
3.3.1 理论基础 49
3.3.2 Matlab实现 50
3.4 伽玛变换 51
3.4.1 理论基础 51
3.4.2 Matlab实现 51
3.5 灰度阈值变换 53
3.5.1 理论基础 53
3.5.2 Matlab实现 54
3.6 分段线性变换 55
3.6.1 理论基础 55
3.6.2 Matlab实现 56
3.7 直方图均衡化 60
3.7.1 理论基础 60
3.7.2 Matlab实现 61
3.8 直方图规定化 63
3.8.1 理论基础 63
3.8.2 Matlab实现 64
第4章 图像的几何变换 66
4.1 解决几何变换的一般思路 66
4.2 图像平移 67
4.2.1 图像平移的变换公式 68
4.2.2 图像平移的Matlab实现 68
4.3 图像镜像 70
4.3.1 图像镜像的变换公式 70
4.3.2 图像镜像的Matlab实现 71
4.4 图像转置 72
4.4.1 图像转置的变换公式 72
4.4.2 图像转置的Matlab实现 72
4.5 图像缩放 73
4.5.1 图像缩放的变换公式 73
4.5.2 图像缩放的Matlab实现 74
4.6 图像旋转 75
4.6.1 以原点为中心的图像旋转 75
4.6.2 以任意点为中心的图像旋转 75
4.6.3 图像旋转的Matlab实现 77
4.7 插值算法 77
4.7.1 最近邻插值 78
4.7.2 双线性插值 78
4.7.3 高阶插值 79
4.8 Matlab综合案例——人脸图像配准 81
4.8.1 什么是图像配准 81
4.8.2 人脸图像配准的Matlab实现 81
第5章 空间域图像增强 85
5.1 图像增强基础 85
5.1.1 为什么要进行图像增强 85
5.1.2 图像增强的分类 85
5.2 空间域滤波 86
5.2.1 空间域滤波和邻域处理 86
5.2.2 边界处理 87
5.2.3 相关和卷积 88
5.2.4 滤波操作的Matlab实现 88
5.3 图像平滑 90
5.3.1 平均模板及其实现 90
5.3.2 高斯平滑及其实现 92
5.3.3 自适应平滑滤波 95
5.4 中值滤波 95
5.4.1 性能比较 95
5.4.2 一种改进的中值滤波策略 98
5.4.3 中值滤波的工作原理 98
5.5 图像锐化 98
5.5.1 理论基础 98
5.5.2 基于一阶导数的图像增强——梯度算子 98
5.5.3 基于二阶微分的图像增强——拉普拉斯算子 101
5.5.4 基于一阶与二阶导数的锐化算子的比较 104
5.5.5 高提升滤波及其实现 105
5.5.6 高斯-拉普拉斯变换(Laplacian of a Gaussian,LoG) 106
第6章 频率域图像增强 109
6.1 频率域滤波——与空间域滤波殊途同归 109
6.2 傅立叶变换基础知识 109
6.2.1 傅立叶级数 110
6.2.2 傅立叶变换 111
6.2.3 幅度谱、相位谱和功率谱 114
6.2.4 傅立叶变换的实质—基的转换 115
6.3 快速傅立叶变换及实现 116
6.3.1 FFT变换的必要性 117
6.3.2 常见的FFT算法 117
6.3.3 按时间抽取的基-2 FFT算法 118
6.3.4 离散反傅立叶变换的快速算法 121
6.3.5 N维快速傅立叶变换 121
6.3.6 Matlab实现 122
6.4 频域滤波基础 126
6.4.1 频域滤波与空域滤波的关系 126
6.4.2 频域滤波的基本步骤 126
6.4.3 频域滤波的Matlab实现 127
6.5 频域低通滤波器 128
6.5.1 理想低通滤波器及其实现 128
6.5.2 高斯低通滤波器及其实现 131
6.6 频率域高通滤波器 135
6.6.1 高斯高通滤波器及其实现 135
6.6.2 频域拉普拉斯滤波器及其实现 137
6.7 Matlab综合案例——利用频域滤波消除周期噪声 139
6.7.1 频域带阻滤波器 139
6.7.2 带阻滤波消除周期噪声 141
6.8 频域滤波器与空域滤波器之间的内在联系 143
第7章 小波变换 146
7.1 多分辨率分析 146
7.1.1 多分辨率框架 146
7.1.2 分解与重构的实现 153
7.1.3 图像处理中分解与重构的实现 155
7.2 Gabor多分辨率分析 160
7.3 常见小波分析 163
7.3.1 Haar小波 164
7.3.2 Daubechies小波 166
7.4 高维小波 168
第8章 图像复原 171
8.1 图像复原的一般理论 171
8.1.1 图像复原的基本概念 171
8.1.2 图像复原的一般模型 172
8.2 实用图像复原技术 190
8.2.1 图像复原的数值计算方法 190
8.2.2 非线性复原 193
第9章 彩色图像处理 197
9.1 彩色基础 197
9.1.1 什么是彩色 198
9.1.2 我们眼中的彩色 198
9.1.3 三原色 198
9.1.4 计算机中的颜色表示 199
9.2 彩色模型 200
9.2.1 RGB模型 200
9.2.2 CMY、CMYK模型 202
9.2.3 HSI模型 203
9.2.4 HSV模型 207
9.2.5 YUV模型 210
9.2.6 YIQ模型 213
9.2.7 Lab模型简介 214
9.3 全彩色图像处理基础 215
9.3.1 彩色补偿及其Matlab实现 215
9.3.2 彩色平衡及其Matlab实现 217
第10章 形态学图像处理 220
10.1 预备知识 220
10.2 二值图像中的基本形态学运算 222
10.2.1 腐蚀及其实现 222
10.2.2 膨胀及其实现 227
10.2.3 开运算及其实现 229
10.2.4 闭运算及其实现 231
10.3 二值图像中的形态学应用 232
10.3.1 击中与击不中变换及其实现 232
10.3.2 边界提取与跟踪及其实现 234
10.3.3 区域填充 235
10.3.4 连通分量提取及其实现 237
10.3.5 细化算法 240
10.3.6 像素化算法 242
10.3.7 凸壳 243
10.3.8 bwmorph函数 243
10.4 灰度图像中的基本形态学运算 244
10.4.1 灰度膨胀及其实现 244
10.4.2 灰度腐蚀及其实现 247
10.4.3 灰度开、闭运算及其实现 248
10.4.4 顶帽变换(top-hat)及其实现 250
10.5 小结 252
第11章 图像分割 253
11.1 图像分割概述 253
11.2 边缘检测 254
11.2.1 边缘检测概述 254
11.2.2 常用的边缘检测算子 255
11.2.3 Matlab实现 258
11.3 霍夫变换 261
11.3.1 直线检测 261
11.3.2 曲线检测 264
11.3.3 任意形状的检测 264
11.3.4 Hough变换直线检测的Matlab实现 265
11.4 阈值分割 268
11.4.1 阈值分割方法 268
11.4.2 Matlab实现 272
11.5 区域分割 273
11.5.1 区域生长及其实现 273
11.5.2 区域分裂与合并及其Matlab实现 275
11.6 基于形态学分水岭算法的图像分割 280
11.6.1 形态学分水岭算法 280
11.6.2 Matlab实现 283
11.7 Matlab综合案例——分水岭算法 284
11.8 小结 289
第12章 特征提取 290
12.1 图像特征概述 290
12.1.1 什么是图像特征 290
12.1.2 图像特征的分类 290
12.1.3 特征向量及其几何解释 291
12.1.4 特征提取的一般原则 291
12.1.5 特征的评价标准 291
12.2 基本统计特征 292
12.2.1 简单的区域描绘子及其Matlab实现 292
12.2.2 直方图及其统计特征 293
12.2.3 灰度共现矩阵 295
12.3 特征降维 299
12.3.1 维度灾难 299
12.3.2 特征选择简介 299
12.3.3 主成分分析 300
12.3.4 快速PCA及其实现 307
12.4 综合案例——基于PCA的人脸特征抽取 309
12.4.1 数据集简介 309
12.4.2 生成样本矩阵 309
12.4.3 主成分分析 310
12.4.4 主成分脸可视化分析 311
12.4.5 基于主分量的人脸重建 313
12.5 局部二进制模式 315
12.5.1 基本LBP 315
12.5.2 圆形邻域的LBPP,R算子 315
12.5.3 统一化LBP算子——Uniform LBP及其Matlab实现 316
12.5.4 MB-LBP及其Matlab实现 319
12.5.5 图像分区及其Matlab实现 324
第13章 图像识别初步 328
13.1 模式识别概述 328
13.1.1 模式与模式识别 328
13.1.2 图像识别 329
13.1.3 关键概念 329
13.1.4 识别问题的一般描述 330
13.1.5 过度拟合 331
13.1.6 模式识别系统结构 332
13.1.7 训练/学习方法分类 332
13.2 模式识别方法分类 332
13.2.1 统计模式识别 333
13.2.2 句法模式识别 333
13.2.3 小结 334
13.3 最小距离分类器和模板匹配 334
13.3.1 最小距离分类器及其Matlab实现 334
13.3.2 基于相关的模板匹配 336
13.3.3 相关匹配的计算效率 339
第14章 人工神经网络 341
14.1 人工神经网络简介 341
14.1.1 仿生学动机 341
14.1.2 人工神经网络的应用实例 343
14.2 人工神经网络的理论基础 344
14.2.1 训练线性单元的梯度下降算法 344
14.2.2 多层人工神经网络 350
14.2.3 sigmoid单元 351
14.2.4 反向传播(BP,back propogation)算法 352
14.2.5 训练中的问题 356
14.3 神经网络算法的可视化实现 357
14.3.1 NNTool的主要功能及应用 357
14.3.2 神经网络的仿真测试 361
14.4 Matlab神经网络工具箱 365
14.4.1 网络的创建 365
14.4.2 网络初始化 365
14.4.3 网络训练 366
14.4.4 网络仿真测试 366
14.4.5 网络性能分析 367
第15章 支持向量机 368
15.1 支持向量机的分类思想 368
15.1.1 分类模型的选择 368
15.1.2 模型参数的选择 369
15.2 支持向量机的理论基础 369
15.2.1 线性可分情况下的SVM 369
15.2.2 非线性可分情况下的C-SVM 373
15.2.3 需要核函数映射情况下的SVM 375
15.2.4 推广到多类问题 378
15.3 SVM的Matlab实现 380
15.3.1 训练——svmtrain 380
15.3.2 分类——svmclassify 382
15.3.3 应用实例 382
15.4 综合案例——基于PCA和SVM的人脸识别系统 383
15.4.1 人脸识别简介 383
15.4.2 前期处理 383
15.4.3 数据规格化 384
15.4.4 核函数的选择 387
15.4.5 参数选择 388
15.4.6 构建多类SVM分类器 390
15.4.7 实验结果 392
15.5 SVM在线资源 399
15.5.1 Matlab的SVM工具箱 399
15.5.2 LIBSVM的简介 399
参考文献 401