上篇 数字图像处理基础 3
第1章 绪论 3
1.1 引言 3
1.2 图像处理概述 3
1.2.1 数字图像的获取 3
1.2.2 数字图像的表示 4
1.2.3 图像处理分类 4
1.2.4 图像处理的目的 5
1.2.5 图像处理的内容和方法 5
1.3 数字图像处理常用的工具 7
1.3.1 基于Matlab的图像处理 7
1.3.2 基于Open CV的图像处理 8
1.3.3 Code:Blocks与Open CV结合专用数字图像处理 9
1.4 数字图像处理步骤及硬件组成 10
1.4.1 数字图像处理的基本步骤 10
1.4.2 数字图像处理系统的组成 10
1.5 数字图像处理的主要应用 12
1.6 数字图像处理的发展方向 14
1.7 本书章节安排 14
习题 15
第2章 数字图像的基本概念 16
2.1 图像的数字化 16
2.1.1 图像采样 16
2.1.2 图像量化 17
2.1.3 采样和量化参数的选择 20
2.2 数字图像的数值描述 21
2.3 数字图像文件格式 24
2.3.1 BMP文件格式 24
2.3.2 其他文件格式 26
习题 29
第3章 Matlab图像处理基础 30
3.1 Matlab概述 30
3.1.1 Matlab的工作界面 30
3.1.2 Matlab的常用命令 33
3.1.3 Matlab的帮助系统 34
3.2 图像处理工具箱 35
3.3 Matlab图像处理入门实例 39
3.3.1 图像文件的读写 39
3.3.2 图像文件的显示 43
3.3.3 图像类型的转换 50
习题 57
第4章 图像变换 58
4.1 图像的几何变换 58
4.1.1 图像几何变换的一般表达式 58
4.1.2 平移变换 58
4.1.3 比例缩放 59
4.1.4 旋转变换 60
4.1.5 仿射变换 61
4.1.6 透视变换 62
4.1.7 灰度插值 63
4.2 图像的正交变换 64
4.2.1 离散傅里叶变换(DFT) 64
4.2.2 离散余弦变换(DCT) 67
4.2.3 离散沃尔什-哈达玛变换(Walsh-Hadamard Transform) 68
4.2.4 K-L变换 72
习题 75
第5章 图像增强 77
5.1 直接灰度变换 77
5.1.1 线性灰度变换 77
5.1.2 非线性灰度变换 81
5.2 直方图修正 84
5.2.1 灰度直方图的定义与性质 84
5.2.2 直方图均衡化 86
5.2.3 直方图规定化 91
5.3 同态滤波增强 93
5.4 图像的彩色增强 95
5.4.1 伪彩色增强 95
5.4.2 真彩色增强 97
5.4.3 假彩色增强 98
习题 99
第6章 图像去噪 100
6.1 图像噪声 100
6.1.1 图像噪声的基本概念 100
6.1.2 图像噪声的分类 100
6.1.3 常用的噪声模型 101
6.2 空域去噪法 101
6.2.1 邻域平均法 101
6.2.2 中值滤波法 106
6.2.3 多图像平均法 109
6.3 频域低通滤波法 111
6.3.1 理想低通滤波器(ILPF) 111
6.3.2 Butterworth低通滤波器(BLPF) 113
6.3.3 指数低通滤波器(ELPF) 114
6.3.4 梯形低通滤波器(TLPF) 115
习题 116
第7章 图像锐化 118
7.1 图像的边缘 118
7.2 空域微分算子法 118
7.2.1 一阶微分算子 118
7.2.2 二阶微分算子——拉普拉斯算子 121
7.2.3 拉普拉斯-高斯变换算子(Laplacian of Gaussian,LoG) 123
7.3 频域高通滤波法 125
习题 127
第8章 图像恢复 128
8.1 概述 128
8.2 图像退化模型 129
8.2.1 图像退化的物理过程 129
8.2.2 连续的线性系统退化模型 129
8.2.3 离散的线性系统退化模型 130
8.2.4 循环矩阵对角化 132
8.2.5 非线性退化模型 133
8.3 退化函数的估计 134
8.3.1 图像观察估计法 134
8.3.2 试验估计法 134
8.3.3 模型估计法 135
8.4 空间域恢复方法 136
8.4.1 无约束恢复 136
8.4.2 约束最小二乘恢复 137
8.4.3 能量约束恢复 138
8.4.4 平滑约束恢复 139
8.4.5 均方误差最小约束(维纳滤波) 140
8.5 频域恢复方法 142
8.5.1 逆滤波法 142
8.5.2 最小二乘滤波法 144
8.5.3 其他滤波方法 145
8.6 几何畸变恢复 146
习题 147
第9章 图像编码与压缩 148
9.1 概述 148
9.1.1 图像数据压缩的必要性与可能性 148
9.1.2 图像编码压缩技术的分类 148
9.2 图像保真度准则 149
9.2.1 客观保真度准则 149
9.2.2 主观保真度准则 150
9.3 无损压缩编码 150
9.3.1 图像冗余度和编码效率 151
9.3.2 霍夫曼(Huffman)编码 151
9.3.3 费诺-香农编码 153
9.3.4 算术编码 154
9.3.5 行程编码 155
9.4 有损压缩编码 156
9.4.1 信息率失真理论 156
9.4.2 有损预测编码压缩 157
9.4.3 变换编码 159
9.5 图像编码的国际标准简介 161
习题 162
第10章 图像分割 163
10.1 基于阈值的图像分割方法 163
10.1.1 阈值化分割基本原理 163
10.1.2 固定阈值法 165
10.1.3 直方图法 165
10.1.4 最大类间方差法 166
10.1.5 统计最优阈值法 167
10.2 基于边界的图像分割方法 168
10.2.1 并行微分算子法 169
10.2.2 模板匹配法 174
10.2.3 边界跟踪算法 176
10.2.4 边界拟合算法 177
10.2.5 基于主动轮廓模型算法 178
10.3 基于区域的图像分割方法 179
10.3.1 区域生长法 179
10.3.2 分裂合并法 181
习题 183
第11章 图像形态学运算 184
11.1 图像形态学的基础 184
11.1.1 图像形态学的概念 184
11.1.2 图像形态学的应用 184
11.1.3 二值图像 184
11.1.4 集合论的基本概念 185
11.1.5 Matlab中常用数学形态学函数 186
11.2 图像形态学的基本运算 186
11.2.1 腐蚀 187
11.2.2 膨胀 189
11.2.3 开运算和闭运算 191
11.2.4 击中/未击中变换 193
11.2.5 基本运算的性质 194
11.3 图像形态学的处理 195
11.3.1 边界提取 195
11.3.2 距离变换 196
11.3.3 骨架化 197
11.3.4 细化 199
本章小结 201
习题 201
第12章 图像描述 202
12.1 像素描述 202
12.1.1 邻域 202
12.1.2 像素间的邻接和连通 203
12.1.3 通路和连通性 204
12.1.4 区域和边界 204
12.2 目标边界的链码描述 205
12.2.1 链码的定义 205
12.2.2 曲线的链码表示 206
12.3 曲线的拟合 207
12.3.1 迭代拟合 207
12.3.2 最小均方误差拟合 208
12.3.3 曲面拟合 208
12.4 傅里叶描述子 209
12.5 图像纹理描述 210
12.5.1 基于统计的纹理描述 211
12.5.2 基于粗糙度的纹理描述 212
12.5.3 基于频谱的纹理描述 212
12.5.4 联合概率矩阵法纹理描述 213
12.5.5 纹理的句法结构分析法 214
12.6 图像的几何特征 215
12.6.1 位置与方向特征 215
12.6.2 区域面积特征 216
12.6.3 形状特征 217
12.7 图像的矩描述 220
12.7.1 矩的定义 220
12.7.2 质心坐标与中心矩 220
12.7.3 主轴 220
12.7.4 不变矩 221
本章小结 221
习题 221
第13章 图像识别 223
13.1 模式与模式识别 223
13.2 图像识别 223
13.2.1 识别问题的一般描述 224
13.2.2 过度拟合 225
13.2.3 图像识别系统结构 226
13.2.4 训练/学习方法分类 228
13.3 图像识别方法分类 228
13.3.1 统计模式识别 229
13.3.2 句法模式识别 229
习题 232
下篇 数字图像处理应用实践 235
第14章 图像处理软件开发概述 235
14.1 Code::Blocks开发环境 235
14.1.1 安装Code::Blocks 236
14.1.2 安装wxWidgets 241
14.1.3 安装wxFormbuilder 245
14.2 Open CV的安装与编译 249
14.2.1 Open CV概述 249
14.2.2 Open CV的安装 250
14.2.3 Open CV的编译 253
14.3 Code::Blocks开发环境配置 255
本章小结 258
第15章 Code::Blocks入门 259
15.1 Code::Blocks主界面 259
15.2 工程创建 260
15.2.1 新建工程 260
15.2.2 编辑 262
15.2.3 构建与运行 264
15.2.4 代码调试 266
15.3 GUI界面设计 268
15.3.1 wxWidgets窗口 268
15.3.2 wxWidgets标准对话框 270
15.3.3 wxFormbuilder 271
15.3.4 GUI设计举例 272
本章小结 280
第16章 Open CV图像处理 281
16.1 基础数据结构 281
16.1.1 CV命名空间 281
16.1.2 CV数据结构 281
16.1.3 Mat基本图像容器 283
16.2 Open CV图像操作 286
16.2.1 输入/输出 286
16.2.2 图像存取 286
16.2.3 底层操作 287
16.2.4 图像显示 287
16.2.5 图像处理API 287
16.3 Open CV编程举例 288
16.3.1 控制台模式 288
16.3.2 GUI界面模式 290
本章小结 303
第17章 数字图像处理案例解析 304
17.1 图像编辑器 304
17.1.1 功能描述 304
17.1.2 功能实现 304
17.1.3 效果演示 318
17.2 数字图像水印系统 322
17.2.1 基本原理 322
17.2.2 水印嵌入与提取算法 323
17.2.3 效果展示 340
17.3 细胞识别统计系统 343
17.3.1 系统方案 343
17.3.2 核心模块 343
17.3.3 测试结果 358
本章小结 359
附录 Ubuntu Linux环境下开发平台的搭建 360
参考文献 365