第1部分 基础篇 1
第1章 MATLAB图像处理工具与安装设置 2
1.1 MATLAB的版本 2
1.2 6.1版图像处理工具箱的新特性 3
1.2.1生成高动态范围图像并写入文件 3
1.2.2灰度图像中区域测量属性 5
1.2.3二次采样显示特别大的图像 5
1.2.4 ROI工具的增强功能 5
1.2.5色彩功能的增强功能 6
1.2.6函数命令cp2tform支持新的转换类型 7
1.2.7函数命令hough使用设定的RhoResolution参数值 7
1.2.8交互工具的增强功能 7
1.2.9新的以及更新过的Demos 8
1.2.10其他函数的增强功能 8
1.3 6.1版图像获取工具箱的新特性 8
1.3.1支持新的Hamamatsu公司硬件 8
1.3.2支持National Instruments的同步总线 9
1.3.3两个Qlmaging设备特定属性值进行了拼写修正 9
1.4 MATLAB安装问题 9
1.4.1 MATLAB和硬件的冲突问题 9
1.4.2将MATLAB安装在中文目录下引起的问题 11
1.4.3 License冲突问题 11
1.4.4 MATLAB和Windows Vista系统的兼容性问题 11
1.4.5安装MATLAB的其他相关问题 12
1.5 MATLAB R2008a安装指导 13
1.6小结 19
第2章 MATLAB图像处理的特点及学习方法 20
2.1 MATLAB和其他图像处理软件的比较 20
2.2 MATLAB图像处理程序的开发特点 22
2.3 MATLAB图像处理适用人员 22
2.4从图像入手学习MATLAB 24
2.4.1视觉图像和MATLAB的联系 24
2.4.2图像在MATLAB中的处理 25
2.4.3 MATLAB中的三维数据场处理 26
2.5 MATLAB图像处理研究的基本问题 27
2.6 MATLAB图像处理新功能的相关函数 28
2.6.1函数命令makehdr 28
2.6.2函数命令imshow 31
2.6.3函数命令regionprops 34
2.7更新的Demos 37
2.7.1交通视频中的车辆检测 37
2.7.2灰度图像区域测量 41
2.8小结 45
第3章 数字图像基础 46
3.1数字图像 46
3.1.1图像的概念 46
3.1.2图像信息的重要性 48
3.2图像采集基本知识 49
3.2.1电视摄像机 49
3.2.2电荷-耦合装置 49
3.2.3分辨率 50
3.2.4图像采集卡基本知识 50
3.3图像处理和分析 51
3.3.1图像处理和图像分析问题 51
3.3.2图像变换 54
3.4数字图像技术应用 54
3.4.1材料科学研究中的计算机图像分析与处理 55
3.4.2 MATLAB材料科学的相关处理 55
3.4.3医学图像 62
3.4.4 MATLAB医学图像的相关处理 63
3.4.5使用MATLAB查找地震中心 67
3.4.6常见数字图像行业应用 70
3.5 MATLAB可读的图像及视频的格式 71
3.5.1图像格式 72
3.5.2视频格式 75
3.6小结 77
第4章 MATLAB图形绘制 78
4.1基本二维图形的绘制 78
4.1.1创建简单的二维图形 78
4.1.2精确绘图 82
4.1.3二维图形修饰 84
4.1.4多幅图形共用图形窗口 85
4.2特殊二维图形的绘制 86
4.2.1直方图 86
4.2.2条形图 87
4.2.3饼图 89
4.2.4柄图 90
4.2.5阶梯图 91
4.2.6面积图 92
4.2.7彗星图 93
4.2.8帕累托图 93
4.2.9散点图 94
4.2.10散点矩阵图 95
4.2.11极坐标图 96
4.2.12等高线图 97
4.3三维图形的绘制 98
4.3.1创建简单的三维图形 98
4.3.2三维线性图形 98
4.3.3平面网格点的生成 99
4.3.4曲面网格图和网面图 100
4.3.5三维图形的修饰 102
4.4小结 104
第5章 矩阵运算及优化 105
5.1矩阵运算 105
5.1.1加法和减法 105
5.1.2乘法 106
5.1.3 MATLAB索引或引用 107
5.1.4数组操作和矩阵操作 108
5.1.5布尔数组操作 109
5.2特殊矩阵的生成 110
5.2.1空矩阵 110
5.2.2单位矩阵 111
5.2.3全1矩阵 111
5.2.4全0矩阵 111
5.2.5随机矩阵 112
5.3矩阵的一些特殊操作 113
5.3.1变维 113
5.3.2矩阵平铺 114
5.4向量化 116
5.4.1基本知识 116
5.4.2 JIT加速 117
5.4.3作用于两个向量的矩阵函数 118
5.4.4排序、设置和计数 119
5.4.5稀疏矩阵结构 120
5.4.6附加的例子 121
5.5小结 128
第6章 颜色和三维物体描述 129
6.1颜色模型分类 129
6.1.1颜色的混色表示法 130
6.1.2颜色的显色表示法 131
6.2颜色的相关知识 131
6.2.1色度学相关知识 131
6.2.2 CIE色度图 134
6.3常用的颜色模型——彩色图像模式 137
6.3.1 RGB模式 137
6.3.2 CMYK模式 138
6.3.3 LAB模式 138
6.3.4 HSV模式 138
6.3.5 HSL模式 139
6.3.6YUV模式 139
6.3.7YcbCr模式 140
6.3.8 YIQ模式 140
6.4 MATLAB颜色空间转换 140
6.4.1 YIQ空间与RGB空间转换 140
6.4.2HSV空间与RGB空间转换 142
6.4.3 YcbCr空间与RGB空间的转换 144
6.5常用视频色彩编码 146
6.5.1YUV 146
6.5.2YcbCr 146
6.6三维物体描述 146
6.6.1二维笛卡儿坐标系统 147
6.6.2三维笛卡儿坐标系统 147
6.6.3绘制三角形 148
6.6.4三维图元 148
6.6.5表面和顶点法向量 149
6.7小结 150
第7章 MATLAB的光照与材质 151
7.1 OpenGL基础知识 151
7.1.1 OpenGL基本理解 151
7.1.2 OpenGL工作流程 152
7.1.3 OpenGL图形操作步骤 153
7.1.4 OpenGL基本功能 153
7.1.5真实感图形基本概念 154
7.1.6光照模型 154
7.1.7明暗处理 155
7.1.8材质 156
7.2 MATLAB图像渲染实例 157
7.2.1公式生成数据图像渲染 157
7.2.2球体的不同渲染效果 158
7.3 Light对象 159
7.3.1光照命令 159
7.3.2给场景添加光照 160
7.3.3影响光照效果的属性 160
7.3.4光照算法 161
7.4图形对象的反射特性——材质 162
7.4.1镜面反射和漫反射 162
7.4.2环境灯光 162
7.4.3镜面指数 163
7.4.4镜面颜色反射系数 163
7.4.5背面灯光 163
7.4.6数据空间中的灯光配置 164
7.5小结 165
第8章 透明度及纹理贴图 167
8.1 Alpha值与融合 167
8.1.1基本概念 167
8.1.2简易Alpha混合算法 168
8.2使对象透明 168
8.2.1关于透明度 168
8.2.2指定透明度 169
8.2.3一个透明等值面的例子 170
8.3将数据映射给透明度 171
8.3.1颜色属性和Alpha属性默认值的不同 172
8.3.2将数据映射给颜色或者透明度 172
8.4选择一个Alpha映射表 172
8.4.1什么是Alpha映射表 173
8.4.2生成预定Alpha映射表 173
8.4.3修改Alpha映射表 174
8.5 Alpha值融合视频图像流 175
8.6纹理贴图 177
8.6.1纹理贴图的概念 177
8.6.2建立纹理映射 178
8.6.3纹理贴图的尺寸 179
8.6.4纹理贴图坐标 179
8.6.5纹理贴图映射 179
8.7纹理贴图映射实例 180
8.7.1地球纹理贴图 180
8.7.2小丑纹理贴图 180
8.8小结 181
第9章 灵活的交互操作 182
9.1观察坐标 182
9.1.1指定观察平面 182
9.1.2从世界坐标到观察坐标的变换 184
9.2投影 185
9.3 Z缓存器算法 186
9.4 MATLAB的视点和相机 187
9.4.1设置视点 187
9.4.2相机光照控制 188
9.4.3沿图景移动相机 189
9.4.4飞越快照显示 192
9.5小结 193
第10章 科学计算可视化 194
10.1科学计算可视化基础 194
10.1.1科学计算可视化的重要意义 194
10.1.2应用领域 195
10.1.3应用实例 198
10.2科学计算可视化的常用方法 198
10.2.1二维平面数据场的可视化方法 198
10.2.2三维空间数据场的方法 199
10.2.3向量场可视化方法 201
10.3二维平面数据场可视化 202
10.4三维流场绘图 203
10.4.1流锥图——Coneplot函数 203
10.4.2流线图——Streamline函数 204
10.4.3流管图——Streamtube函数 205
10.4.4流带图——Streamribbons函数 207
10.4.5带圆锥图的向量场 208
10.5小结 210
第2部分 图像处理工具箱详解 211
第11章 图像处理工具箱基础 212
11.1图像处理的基本操作 212
11.2图像处理的高级应用 214
11.3图像处理工具箱支持的基本图像类型 219
11.3.1索引色图像 219
11.3.2灰度图像 220
11.3.3 RGB图像 220
11.3.4二值图像 221
11.3.5多帧图像 221
11.4图像类型转换 221
11.4.1抖动算法图像转换 222
11.4.2 RGB图像转换为灰度图像 223
11.4.3 RGB图像转换为索引图像 224
11.4.4灰度图像转换为索引图像 225
11.4.5索引图像转换为灰度图像 226
11.4.6索引图像转换为RGB图像 226
11.4.7阈值法图像转换为二值图像 227
11.4.8将值法灰度图像转换为索引图像 228
11.4.9矩阵转换为图像 228
11.5小结 229
第12章 丰富多彩的图像显示 230
12.1图像显示的相关技术 230
12.1.1添加颜色条 230
12.1.2显示多帧图像阵列 231
12.1.3显示多幅图像 237
12.1.4对图像上的区域缩放 242
12.1.5纹理映射 243
12.2显示图像文件中的图像 245
12.3图像显示中常见的问题 245
12.3.1彩色图像显示错误 245
12.3.2二值图像显示为全黑图像 246
12.3.3装载的多帧图像只显示一帧 246
12.3.4显示非图像数据 247
12.4小结 247
第13章 图像运算 248
13.1图像运算概述 248
13.1.1点运算 248
13.1.2邻域运算 249
13.1.3并行运算 249
13.1.4串行运算 250
13.1.5迭代运算 250
13.1.6窗口运算 250
13.1.7模板运算 251
13.1.8帧运算 251
13.2图像代数运算 251
13.2.1图像的加法运算 252
13.2.2图像的减法运算 253
13.2.3图像的乘法运算 254
13.2.4图像的除法运算 255
13.2.5图像的四则代数运算 256
13.3图像几何运算 258
13.3.1图像的插值 258
13.3.2图像大小调整 259
13.3.3图像旋转 261
13.3.4图像剪裁 262
13.4小结 263
第14章 邻域和块处理 264
14.1图像邻域 264
14.1.1 Colfilt函数 265
14.1.2 nlfilter函数 268
14.2图像块操作 269
14.2.1 blkproc函数 269
14.2.2 bestblk函数 271
14.2.3将图像块排列成向量 271
14.3小结 272
第15章 基于区域的处理 273
15.1指定目标区域 273
15.1.1多边形选择法 273
15.1.2交互方式进行多边形区域选择 274
15.1.3非交互方式进行多边形区域选择 275
15.1.4灰度选择法 275
15.1.5其他选择方法 276
15.1.6多边形转换为掩膜 277
15.2对区域进行滤波 280
15.3填充区域 281
15.4小结 282
第16章 图像变换 283
16.1图像变换概述 283
16.2傅里叶变换 284
16.2.1一维连续傅里叶变换 284
16.2.2一维离散傅里叶变换 284
16.2.3二维连续傅里叶变换 285
16.2.4二维离散傅里叶变换 285
16.2.5 MATLAB中的快速傅里叶变换函数 287
16.3离散傅里叶变换的性质 289
16.3.1可分离性 289
16.3.2平移性 290
16.3.3周期性及共轭对称性 292
16.3.4旋转性质 292
16.3.5线性性质 292
16.3.6 F(0,0)与图像均值的关系 293
16.3.7图像拉普拉斯算子处理后的傅里叶变换 293
16.3.8卷积与相关定理 293
16.4快速傅里叶变换的应用 294
16.4.1滤波器频率相应 294
16.4.2快速卷积 294
16.4.3图像特征识别 296
16.5离散余弦变换 297
16.5.1连续实偶函数的傅里叶变换 297
16.5.2离散余弦变换 298
16.6 MATLAB中的离散余弦变换函数 299
16.6.1离散二维余弦变换 299
16.6.2二维离散余弦逆变换 300
16.7离散余弦变换和图像压缩 301
16.8 Radon变换 303
16.8.1图像在指定方向上的radon变换 304
16.8.2利用radon变换检测直线 304
16.8.3 radon逆变换及应用 305
16.9小结 309
第17章 数学形态学 310
17.1数学形态学基础 310
17.1.1数学形态学的概念 310
17.1.2数学形态学的应用 311
17.1.3 MATLAB中的常用数学形态学函数 312
17.1.4数学形态学的一般应用步骤 312
17.2数学形态学基本运算 314
17.2.1膨胀和腐蚀 314
17.2.2数学形态学重建 320
17.2.3距离变换 321
17.2.4对象、区域和特征度量 323
17.2.5查找表 324
17.2.6基于数学形态学的数字识别例子 325
17.2.7 MATLAB数学形态学函数在工作中的应用 327
17.3小结 327
第18章 图像增强 328
18.1图像增强概述 328
18.1.1空域变换增强 328
18.1.2空域滤波增强 329
18.1.3频域增强 329
18.2点运算 330
18.2.1灰度级修正 330
18.2.2灰度变换 331
18.2.3直方图修正 332
18.3 MATLAB灰度变换 333
18.3.1 imadjust函数 333
18.3.2动态范围压缩 336
18.4 MATLAB直方图修正 336
18.4.1直方图均衡化 337
18.4.2直方图匹配 338
18.5平滑滤波器 339
18.5.1掩模消噪法 342
18.5.2邻域平均法 343
18.5.3多图像平均法 345
18.6中值滤波器 346
18.7锐化滤波器 348
18.7.1空域高通滤波 349
18.7.2梯度图像输出方法 350
18.8频域增强 352
18.8.1布特沃斯低通滤波器实例 352
18.8.2同态滤波 354
18.9伪彩色处理 356
18.9.1彩色图像的伪彩色处理 357
18.9.2灰度分层法伪彩色处理 358
18.9.3灰度变换法的彩色处理 359
18.9.4频域伪彩色处理 359
18.9.5多光谱图像的伪彩色处理——在遥感学中常用 359
18.10小结 360
第19章 图像复原 361
19.1理解图像复原 361
19.1.1图像模糊的起因 361
19.1.2复原模型 362
19.1.3 PSF的重要性 362
19.2模糊与噪声 363
19.3使用维纳滤波器进行图像复原 365
19.4使用常规滤波器进行图像复原 369
19.5使用Lucy-Richardson算法进行图像复原 373
19.6使用盲解卷积算法进行图像复原 379
19.7小结 383
第3部分 图像处理实务 385
第20章 小波变换在图像中的应用 386
20.1小波分析基础 386
20.2小波分析技术 387
20.2.1连续小波变换 387
20.2.2离散小波变换 389
20.2.3小波重构 391
20.3小波图像压缩 392
20.4小波图像消噪 395
20.4.1基本原理 396
20.4.2小波消噪的例子 396
20.5小波图像增强 400
20.6小波图像融合 401
20.7小结 403
第21章 分形的MATLAB实现 404
21.1 Koch分形曲线 404
21.1.1分形原理 404
21.1.2算法分析 405
21.1.3 MATLAB程序实现 405
21.2混沌和分形 409
21.2.1一维迭代Logistic方程 409
21.2.2 Logistic映射的MATLAB程序实现 409
21.2.3 运用程序分析工具Profile 410
21.2.4三维常微分Lorenz方程 411
21.2.5在复平面上迭代得到Julia集与Mandlebrot集 412
21.3迭代函数系统 417
21.4分形编码基础 418
21.5小结 418
第22章 图像压缩技术 419
22.1图像压缩基础 419
22.1.1图像数据的冗余 419
22.1.2图像压缩方法分类 420
22.2图像的编码质量评价 421
22.2.1客观评价准则 421
22.2.2主观评价准则 422
22.2.3压缩比 422
22.3无损压缩技术 423
22.3.1霍夫曼编码 423
22.3.2行程长度编码 424
22.3.3 算术编码 426
22.4有损压缩技术 427
22.4.1预测编码 427
22.4.2变换编码 428
22.5小波变换在图像压缩中的应用 428
22.5.1多分辨率分析 429
22.5.2图像的小波表示理论 429
22.5.3小波变换编码的优越性 431
22.5.4几个典型的小波图像编码器 431
22.5.5小波变换编码的基本框架 432
22.5.6小波基的选择 433
22.5.7图像小波分析压缩程序 436
22.6小结 440
第23章 图像分割 441
23.1图像分割基础 441
23.1.1图像分割定义 441
23.1.2边缘检测概述 442
23.2边缘检测算子 443
23.2.1罗伯特(Roberts)边缘算子 443
23.2.2索贝尔(Sobel)边缘算子 444
23.2.3 Prewitt边缘算子 444
23.2.4拉普拉斯(Laplacian)边缘算子 445
23.2.5坎尼(Canny)边缘算子 445
23.2.6 MATLAB程序实现 446
23.3直线提取 449
23.3.1 Hough变换法 449
23.3.2 MATLAB程序实现 450
23.4阈值分割 453
23.4.1人工选择法 454
23.4.2自动阈值法 454
23.4.3 MATLAB程序实现 457
23.5分水岭算法 459
23.6区域生长和分裂合并 461
23.6.1区域生长法 461
23.6.2区域分裂与合并 462
23.6.3 MATLAB四叉树分解 463
23.7其他分割方法 465
23.7.1彩色图像分割 465
23.7.2聚类算法 466
23.7.3 MATLAB程序实现 466
23.8小结 469
第24章 图像表示与描述 470
24.1形状匹配的基本概念 470
24.2形状表示 471
24.2.1链码 471
24.2.2样条 472
24.2.3多边形近似 472
24.2.4标记图 473
24.3骨架描述 474
24.3.1骨架表示 474
24.3.2骨架、细化和中轴 475
24.3.3骨架算法 475
24.3.4骨架的MATLAB程序实现 475
24.4基于几何特征的形状描述子 476
24.4.1分散度 476
24.4.2欧拉数 477
24.4.3凹凸性 477
24.4.4复杂性 478
24.4.5偏心度 478
24.4.6二值图像的欧拉数的MATLAB程序实现 478
24.5边界描述子 479
24.6区域描述 480
24.6.1不变矩 481
24.6.2形态学描述 481
24.6.3 MATLAB程序实现 484
24.7纹理 485
24.7.1直方图统计特征 486
24.7.2灰度差分统计法 487
24.7.3图像灰度梯度方向矩阵 487
24.7.4自相关函数法 488
24.7.5傅里叶特征 489
24.7.6纹理的结构分析 490
24.7.7小波分析 490
24.8形状识别的示例 491
24.9小结 493
第25章 模式识别 494
25.1模式识别 494
25.1.1模式识别主要理论和方法 495
25.1.2模式识别过程 497
25.2统计模式识别 497
25.2.1统计模式识别方法 497
25.2.2特征分析 499
25.2.3特征抽取 501
25.2.4特征选择 502
25.2.5 Bayes分类器 503
25.3神经网络识别 503
25.3.1神经元模型 503
25.3.2网络结构 504
25.3.3反向传播网络 507
25.3.4图像识别的MATLAB程序实现 509
25.4模糊识别 512
25.4.1图像的模糊性 512
25.4.2模糊子集的基本概念 513
25.4.3基本术语与运算 513
25.4.4模糊性的度量方法 514
25.4.5模糊模式识别 515
25.5小结 516
第26章 MATLAB图像应用实例 517
26.1图像应用领域 517
26.2生物识别技术 518
26.2.1指纹识别原理 518
26.2.2面部识别原理 519
26.2.3指纹识别的MATLAB程序实现 520
26.3数字水印技术 527
26.3.1数字水印应用领域 527
26.3.2数字水印技术特点 528
26.3.3数字图像水印算法 529
26.3.4 MATLAB程序实现 531
26.4遥感图像处理 533
26.4.1多光谱图像的特征 534
26.4.2 MATLAB程序实现 535
26.5小结 540
第4部分 GUI界面编程 541
第27章 MATLAB程序设计 542
27.1 MATLAB程序设计规范 542
27.1.1命名规则 542
27.1.2文件与程序结构 545
27.1.3输入输出 546
27.1.4基本语句 546
27.1.5避免含糊代码 548
27.1.6排版、注释和文档 549
27.2 M文件 551
27.2.1 M文件的形式 551
27.2.2 M文件的基本组成部分 552
27.2.3生成及保存M文件 555
27.2.4生成P -Code文件 555
27.3数据类型和全局变量 555
27.3.1数据类型 555
27.3.2全局变量 560
27.4 MATLAB语句详解 561
27.4.1条件控制语句 561
27.4.2循环语句 563
27.5程序流控制 564
27.5.1 echo命令 564
27.5.2 pause命令 565
27.5.3 error函数 566
27.5.4 warning函数 567
27.5.5 dos函数 568
27.6小结 570
第28章 图形用户界面设计 571
28.1图形对象句柄 571
28.1.1 GUI对象层次结构 572
28.1.2图形对象句柄 572
28.2菜单 577
28.2.1菜单的布置 578
28.2.2 uimenu建立菜单 578
28.2.3菜单属性 579
28.3灵活使用控件 582
28.4 GUIDE图形界面开发 587
28.4.1概述 587
28.4.2开始GUIDE使用 587
28.5 GUIDE组件回调程序 588
28.5.1按钮键 588
28.5.2开关按钮 589
28.5.3单选按钮 590
28.5.4复选框 591
28.5.5可编辑文本框 591
28.5.6滑动条 592
28.5.7列表框 593
28.5.8弹出式菜单 594
28.5.9面板 595
28.5.10按钮群 595
28.5.11轴 596
28.5.12菜单选项 598
28.6小结 599
第29章 图像处理的界面编程实战 600
29.1界面设计 600
29.2 M文件生成 602
29.3添加回调函数 603
29.4添加菜单选项和回调函数 604
29.5版权信息 606
29.6其他功能选项添加 607
29.6.1图像灰度转化 607
29.6.2保存图像 607
29.6.3图像傅里叶变换 608
29.6.4二维图像的三维显示 608
29.6.5图像融合 609
29.7小结 611