图形编程基础篇 1
第一章 MATLAB的句柄图形对象 1
1.1 MATLAB的图形对象 1
1.1.1 Root对象 2
1.1.2 Figure对象 2
1.1.3 Uicontrol对象 4
1.1.4 Uimenu对象 6
1.1.5 Axes对象 8
1.1.6 Image对象 9
1.1.7 Light对象 9
1.1.9 Patch对象 11
1.1.8 Line对象 11
1.1.10 Rectangle对象 12
1.1.11 Surface对象 13
1.2 图形对象的属性 14
1.3 图形对象属性值的设置和查询 15
1.3.1 属性值的设置 15
1.3.2 对象的默认属性值 17
1.3.3 属性值的查询 18
1.4 图形对象句柄的访问 20
1.4.1 图形对象句柄的取值 20
1.4.2 句柄图形的当前性 21
1.4.3 通过属性值查找对象 21
1.4.4 图形对象的拷贝 23
第二章 MATLAB的图形绘制 24
2.1 基本曲线的绘制 24
1.4.5 图形对象的删除 24
2.1.1 plot函数 25
2.1.2 plot3函数 25
2.1.3 loglog函数、semilogx函数和semilogy函数 25
2.1.4 plotyy函数 25
2.2 条形图的绘制 26
2.2.1 二维垂直的条形图 26
2.2.2 三维垂直的条形图 28
2.2.3 二维水平的条形图 29
2.3.1 迪卡尔坐标系中的柱状图 30
2.2.4 三维水平的条形图 30
2.3 柱状图的绘制 30
2.3.2 极坐标系中的柱状图 31
2.4 区域图的绘制 32
2.5 饼图的绘制 33
2.5.1 二维饼图的绘制 33
2.5.2 三维饼图的绘制 35
2.6 离散数据的图形绘制 35
2.6.1 二维枝干图 35
2.6.2 三维枝干图 36
2.7.1 罗盘图 38
2.6.3 阶梯图 38
2.7 方向和速度矢量图的绘制 38
2.7.2 羽状图 39
2.7.3 二维箭头图 40
2.7.4 三维箭头图 41
2.8 轮廓图的绘制 42
2.8.1 二维轮廓图 42
2.8.2 三维轮廓图 43
2.9 动画的绘制 44
2.9.1 电影动画 44
2.9.2 程序动画 45
3.2 图像类型 48
第三章 MATLAB中的图像 48
3.1 MATLAB中的图像文件格式 48
3.2.1 索引图像 49
3.2.2 灰度图像 50
3.2.3 RGB图像 50
3.2.4 二值图像 51
3.2.5 图像序列 51
3.3 图像类型转换 52
3.3.1 dither函数 52
3.3.2 gray2ind函数 53
3.3.4 im2bw函数 54
3.3.3 grayslice函数 54
3.3.5 ind2gray函数 55
3.3.6 ind2rgb函数 55
3.3.7 mat2gray函数 56
3.3.8 rgb2gray函数 56
3.3.9 rgb2ind函数 57
3.4 MATLAB中的8位和16位图像 57
3.4.1 8位和16位索引图像 57
3.4.2 8位和16位灰度图像 58
3.4.3 8位和16位RGB图像 58
3.5.1 图像文件信息的查询 59
3.5 图像文件的读写和查询 59
3.5.2 图像文件的读取 60
3.5.3 图像文件的保存 61
3.6 图像对象及其属性 62
3.6.1 图像对象的CData属性 62
3.6.2 图像对象的CDataMapping属性 62
3.6.3 图像对象的XData和YData属性 63
第四章 MATLAB中的图像显示技术 65
4.1 标准的图像显示技术 65
4.1.1 imshow函数 65
4.1.2 显示灰度图像 66
4.1.3 显示二值图像 66
4.1.6 显示图形文件中的图像 67
4.1.5 显示真彩图像 67
4.1.4 显示索引图像 67
4.2 特殊图像显示技术 68
4.2.1 添加颜色条 68
4.2.2 显示多帧图像阵列 69
4.2.3 图像上的区域缩放 71
4.2.4 纹理映射 72
4.2.5 在一个图形窗口中显示多幅图像 73
4.3 MATLAB中的颜色模型 74
4.3.1 颜色模型的分类 74
4.3.2 颜色模型的转换 76
5.1 图像插值的基本原理 80
第五章 图像的几何操作及基于区域的处理 80
5.1.1 最近邻插值 81
5.1.2 双线性插值 81
5.1.3 双三次插值 82
5.2 图像的插值缩放 82
5.3 图像的插值旋转 84
5.4 图像的剪切 85
5.5 基于区域的图像处理 86
5.5.1 多边形选择法 86
5.5.2 灰度选择法 87
5.5.4 对指定区域的滤波 88
5.5.3 其它选择方法 88
5.5.5 对指定区域的填充 89
图像处理技术篇 91
第六章 图像变换 91
6.1 傅立叶变换 91
6.1.1 二维连续傅立叶变换 91
6.1.2 二维离散傅立叶变换(DFT) 95
6.1.3 快速傅立叶变换(FFT) 96
6.1.4 傅立叶变换的应用 96
6.2 离散余弦变换 98
6.3 Radon变换 100
7.1.1 freqz2函数 103
第七章 FIR滤波器设计 103
7.1 FIR滤波器设计基础 103
7.1.2 freqspace函数 104
7.2 窗口方法 106
7.2.1 fwindl函数 107
7.2.2 fwind2函数 111
7.3 频率采样法 115
7.4 二维FIR滤波器设计的频率变换法 117
第八章 图像增强 121
8.1 空域变换增强 121
8.1.1 直接灰度调整 122
8.1.2 直方图处理 129
8.1.3 图像间的代数运算 134
8.2.1 基本原理 137
8.2 空域滤波增强 137
8.2.2 平滑滤波器 138
8.2.3 锐化滤波器 143
8.3 频域增强 146
8.3.1 低通滤波 146
8.3.2 高通滤波 148
第九章 四叉树分解与边缘检测 150
9.1 四叉树分解 150
9.1.1 四叉树分解的基本原理以及MATLAB工具箱函数 150
9.1.2 四叉树分解应用 156
9.2.1 边缘检测的基本原理及处理函数 157
9.2 边缘检测 157
9.2.2 各种边缘检测算子的效果比较 161
第十章 二值图像操作 162
10.1 二值形态学基本运算 163
10.1.1 膨胀 163
10.1.2 腐蚀 167
10.1.3 膨胀与腐蚀的对偶性 169
10.1.4 开启和闭合 170
10.2 二值形态学进行图像处理的综合应用 172
10.2.1 噪声滤除 172
10.2.2 边界提取 173
10.2.3 对象标注 176
10.2.4 图像的特性度量 178
10.2.5 细化与骨架提取 181
10.2.6 查找表操作 182
10.2.7 区域填充 184
10.2.8 对象提取 186
综合应用篇 188
第十一章 综合应用实例 188
11.1 对不均匀亮度的校正 188
11.2 基于特征的逻辑 190
11.3 对钢纹(steel grain)的区域标识 193
第十二章 图形用户界面设计 195
12.1 GUIDE开发环境介绍 196
12.1.1 控制面板添加按钮 197
12.1.2 使用回调函数编辑器编写回调函数 198
12.1.3 激活图形 198
12.2 GUI设计 198
12.2.1 指导原则 198
12.2.2 动态界面的设计 203
12.2.3 开发流程 203
12.3 GUI实现 204
12.3.1 GUIDE开发实例 205
12.3.2 边缘检测实例 208
参考文献 219