本套书基于MATLAB的最新版本7.0分上下两册详细介绍该软件的使用方法。主要内容包括MATLAB 7.0的入门知识、界面设计、编译、接口以及新版本变化较大的图形功能和图像处理、虚拟现实、地图制作等3个工具箱。
本书为下册,主要介绍MATLAB的图像处理、虚拟现实和地图制作等3个工具箱。图像处理部分介绍图像合成,空间变换,邻域和块处理,线性滤波和滤波器设计,基于区域的处理,变换域处理,数学形态学,图像分析,图像增强,图像配准和图像恢复等图像处理技术的实现方法。虚拟现实部分介绍利用MATLAB的虚拟现实工具箱创建和浏览虚拟场景并进行交互的方法。地图制作部分介绍地理空间数据、地理空间几何和地图投影等基础知识和实现方法,以及如何利用地图制作工具箱绘制和定制二维、三维地图。
本书内容全面,新颖,适合相关专业的大学生、研究生、科研人员和科技工作者阅读。
第17章图像处理工具箱简介
17.1图像类型
17.1.1索引图像
17.1.2灰度图像
17.1.3值图像
17.1.4RGB图像
17.1.5图像类型转换
17.2图像数据
17.2.1图像的数据保存类型
17.2.2读写图像数据
t7.2.3读写DICOM文件
第18章显示图像
18.1用图像查看器显示图像
18.2用imshow函数显示图像
18.2.1打开图像
18.2.2指定图像的初始大小
18.2.3查看多幅图像
18.2.4理解句柄图形对象的属性设置
18.3显示不同类型的图像
18.3.1显示索引图像
18.3.2显示灰度图像
18.3.3显示二值图像
18.3.4显示RGB图像
18.4特殊显示技巧
18.4.1添加颜色条
18.4.2一次显示多帧图像的所有帧
18.4.3将多帧图像转换为动画
18.4.4纹理映射
18.5打印图像
18.6设置图像显示的参数选项
第19章颜色和坐标
19.1颜色
19.1.1屏幕位深
19.1.2减少图像中的颜色种数
19.2坐标系统
19.2.1像素坐标
19.2.2空间坐标
第20章图像合成
20.1代数运算
20.1.1图像加运算
20.1.2图像减运算
20.1.3图像乘运算
20.1.4图像除运算
20.1.5嵌套调用图像运算函数
20.2逻辑运算
第21章空间变换
21.1插值
21.2图像缩放
21.2.1指定输出图像的大小
21.2.2指定插值方法
21.2.3用滤波器防止走样
21.3旋转图像
21.3.1指定插值方法
21.3.2指定输出图像的大小
21.4图像裁剪
21.5进行一般的空间变换
第22章邻域和块处理
22.1块处理操作
22.2滑动邻域操作
22.3分离块操作
22.4列处理
22.4.1滑动邻域操作
22.4.2分离块操作
第23章线性滤波和滤波器设计
23.1线性滤波
23.1.1卷积
23.1.2相关性
23.1.3用imfilter函数进行滤波
23.1.4使用预定义的滤波器类型
23.2滤波器设计
23.2.1FIR滤波器
23.2.2频率变换方法
23.2.3频率取样法
23.2.4窗口法
23.2.5创建所需频率响应矩阵
23.2.6计算滤波器的频率响应
第24章基干区域的处理
24.1指定目标区域
24.1.1选择多边形
24.1.2其他选择方法
24.2对区域进行滤波
24.3填充区域
第25章变换域处理
25.1傅里叶变换
25.1.1傅里叶变换的定义
25.1.2离散傅里叶变换
25.1.3傅里叶变换的应用
25.2离散余弦变换
25.2.1DCT变换矩阵
25.2.2DCT和图像压缩
25.3Radon变换
25.3.1概念
25.3.2使用Radon变换来发现线形影像
25.3.3逆Radon变换
25.3.4利用投影数据重建图像
第26章数学形态学
26.1膨胀和腐蚀
26.1.1理解膨胀和腐蚀
26.1.2结构元素
26.1.3处理图像边缘的像素
26.1.4膨胀图像
26.1.5腐蚀图像
26.1.6组合膨胀和腐蚀
26.1.7基于膨胀和腐蚀的函数
26.2数学形态学重建
26.2.1Marker图像和Mask图像
26.2.2像素连通性
26.2.3填充操作
26.2.4寻找峰和谷
26.3距离变换
26.4对象、区域和特征度量
26.4.1连接组分的标注
26.4.2查看标注矩阵
26.4.3计算二值图像中前景的面积
26.4.4计算二值图像中的欧拉数
26.5调查表
第27章图像分析
27.1像素值和统计量
27.1.1像素选择
27.1.2灰度轮廓
27.1.3图形等值线
27.1.4图像直方图
27.1.5综述统计量
27.1.6区域属性度量
27.2边缘检测
27.3边界跟踪
27.4四叉树分解
第28章图像增强
28.1灰度调整
28.1.1将灰度值调整到一个指定的范围
28.1.2直方均等化
28.1.3有限对比适应性直方均等化
28.1.4去相关拉伸
28.2去噪
28.2.1线性滤波
28.2.2中值滤波
28.2.3自适应滤波
第29章图像配准
29.1配准图像的一般过程
29.1.1点映射
29.1.2示例.将数字航空照片配准成数字正色投影照片
29.2支持的变换类型
29.3选择控制点
第30章图像恢复
30.1理解图像恢复
30.1.1影响图像质量的原因
30.1.2图像恢复模型
30.2用函数恢复图像
30.2.1用Wiener滤波器进行恢复
30.2.2用regularized滤波器进行恢复
30.2.3用Lucy-Richardson算法进行恢复
30.2.4用盲去卷积算法进行恢复
30.3避免在恢复后的图像中出现tinging效应
第31章虚拟现实工具箱简介
31.1虚拟现实工具箱的特点
31.2VRML支持
31.3MATLAB接口
31.4Simulink接口
31.5VRML查看器
31.6VRML编辑器
第32章VRML与V-Realm编辑器
32.1VRML语言
32.1.1VRML的历史
32.1.2VRML坐标系统
32.1.3VRML数据类型
32.1.4VRML编辑工具
32.1.5VRML文件格式
32.2V-Realm编辑器
32.2.1VRML编辑工具
32.2.2V-Realm编辑器的安装
32.2.3设置虚拟场景的默认编辑器
32.2.4V-Realm编辑器的界面环境
32.2.5用V-Realm编辑器创建虚拟场景
32.2.6用V-Realm编辑器编辑虚拟场景
第33章MATLAB与虚拟世界进行交互
33.1显示虚拟世界
33.1.1VRML查看器
33.1.2网络浏览器
33.2与虚拟世界交互
33.2.1创建虚拟现实工具箱对象
33.2.2使用MATLAB接口
第34章虚拟现实工具箱中的对象
34.1vrworld对象
34.1.1vrworld对象的属性
34.1.2vrwofid对象的方法
34.2vmode对象
34.2.1vmode对象的属性
34.2.2vrnode对象的方法
34.3vrfigure对象
34.3.1vrfigure对象的属性
34.3.2vrfigure对象的方法
第35章虚拟现实工具箱中的函数
35.1vrclear函数
35.2vrclose函数
35.3vrdrawnow函数
35.4vrgetpref函数
35.5vrinstall函数
35.6vrlib函数
35.7vrsetpref函数
35.8vrview函数
35.9vrwho函数
35.10vrwhos函数
第36章地图制作工具箱简介
36.1创建底图
36.2在底图上显示数据
36.3导入高分辨率地图集数据
36.4地理计算
第37章地理空间数据
37.1地图数据
37.1.1向量数据
37.1.2栅格数据
37.2操作向量数据
37.2.1重新组装向量对象
37.2.2匹配直线段
37.2.3地理插值
37.2.4向量相交
37.2.5多边形的面积
37.2.6通过布尔操作叠加多边形
37.2.7生成缓冲区
37.3操作栅格数据
37.3.1向量数据和栅格数据的转换
37.3.2用GUI光栅化多边形
37.3.3路径上的数据网格值
第38章地理空间几何
38.1球体、椭球体和地球体
38.1.1地球体和椭球体
38.1.2椭球体向量
38.2纬度和经度
38.3大圆、恒向线和小圆
38.3.1大圆
38.3.2恒向线
38.3.3小圆
38.4球体或椭球体上的角度和方向
38.4.1定位——前向问题
38.4.2计算跟踪路径——大圆和恒向线
38.4.3距离、方位角和反方位角(反向问题)
38.4.4计算方位角和仰角
38.5历年的行星数据
38.6计算球面四边形的面积
第39章地图投影
39.1地图投影的定量属性
39.2几何表面
39.2.1柱面投影
39.2.2锥面投影
39.2.3方位投影
39.3投影方位
39.3.1origin向量
39.3.2坐标转换
39.4投影计算
39.5使用球面投影
39.6使用UTM投影
39.7投影类型综述
第40章创建和查看地图
40.1地图制作简介
40.1.1用wofidmap和usamap函数显示简单的地图
40.1.2坐标
40.1.3在投影类型之间转换
40.2用地图制作工具箱函数显示向量数据
40.2.1把向量地图显示成直线对象
40.2.2把向量地图显示成面片
第41章制作三维地图.
41.1地形数据源
41.1.1源于NIMA的数字地形高程
41.1.2源于USGS的数字高程模型(DEM)文件
41.1.3确定区域内存在什么高程数据
41.2交互读取高程数据
41.3确定整个地形上的可见性并进行显示
41.4给地形图添加阴影和光照
41.4.1给DTED文件创建的地形图添加光照
41.4.2用lightm函数和Ughtmui工具给世界地形图添加光
41.4.3给地貌添加阴影
41.4.4给阴影地貌图着色并作三维显示
41.4.5用光照对象照亮彩色三维地貌图
41.5在高程地图上叠加数据
41.5.1在地形图上叠加大地水准面高度
41.5.2在地形图上叠加不同的网格数据
41.6球体显示操作
41.6.1在球体显示中使用透明性
41.6.2用相机定位函数进行水平三维视图
41.6.3显示一个旋转的地球
第42章定制地图
42.1插入地图
42.2图形比例尺
42.3指北针
42.4主题图
42.4.1地区分布图
42.4.2杆状图
42.4.3等值线图
42.4.4散点图
42.4.5三角化数据点
42.4.6向量图
42.5使用颜色查找表和色条
42.5.1地形数据的颜色查找表
42.5.2等值线颜色查找表
42.5.3政区图的颜色查找表
42.5.4标注色条
42.5.5编辑色条
参考文献
近年来,MATLAB以其强大的矩阵计算和图形可视化功能逐渐为国人所知。很多学校已经开设这方面的课程,很多学生已经开始使用该软件完成论文设计。科学计算软件的使用,极大地提高科研人员的工作效率,可以更快、更准确地完成计算方案的设计,可以在必要的时候用图形图像表示计算结果和描述运行机制。
本书基于MATLAB 7.0版本,分上、下两册介绍该软件的使用。相对于以前诸版本,7.0版本在图形和编译器方面有比较明显的变化,部分工具箱也有一些变化。本书的主要内容可以概括为两个部分,一部分系统介绍MATLAB的基础和核心功能,即MATLAB总包的功能:另一部分系统介绍新版本变化最大的图形图像功能。上册主要介绍MATLAB总包的应用,下册主要介绍几个图形图像方面的工具箱。
第1一第16章为上册的主要内容,系统地介绍MATLAB 7.0的基本特点、运行环境、数组、矩阵、数值计算、M文件、图形用户界面设计、编译、接口,以及二维、三维图形功能。第1一第5章为比较基础的内容,适合于初学者入门;第6章介绍最新的编译器4.0和COM生成器1.1。编译器4.0可以接受对象数据类型,这在以前是不行的。利用COM生成器可以将MATLAB的M文件和MEX文件打包成COM组件,这些组件又可以用于支持COM机制的应用程序,如VC,VB等,从而可以实现无缝集成。 .
MATLAB 7.0的最大亮点就在于添加了图形的交互创建和编辑功能。这里所说的交互,指的是鼠标交互,即主要通过鼠标的单击和拖拉操作完成图形的绘制和编辑。交互功能的添加,提高了绘图效率和绘图准确性。与此相对应,作为MATLAB图形图像和界面基础的句柄图形对象也有了很大的改变。这种改变,体现在对象抽象和对象组织上。
具体来说,图形部分的内容包括二维图形绘制、图形的交互创建和编辑、二维图形的定制、三维模型和场景的创建和变换,以及MATLAB提供的一系列科学计算可视化工具等。二维部分,MATLAB可以绘制条形图、等值线图、向量图等几十种图形,利用图形对象创建函数,还可以实现图形定制;三维部分,可以创建三维网格图、曲面图、流线图、剖面图、等值面图等多种图形。三维程序的开发,是一件富有挑战性但又其乐无穷的事情。在这方面,MATLAB实际上提供了一个比较高的平台。本书分表面模型和多边形模型两种情况,全面介绍三维模型的创建、着色、光照、材质、透明性、纹理映射和交互操作。
第17~第42章为下册的主要内容,主要介绍MATLAB的图像处理、虚拟现实和地图制作工具箱。
第17一第30章介绍图像处理工具箱,内容包括图像合成、空间变换、邻域和块处理、线性滤波和滤波器设计、基于区域的处理、变换域处理、数学形态学、图像分析、图像增强、图像配准和图像恢复等。
第31一第35章介绍虚拟现实工具箱,内容包括虚拟场景的创建、浏览和交互。
第36一第42章介绍地图制作工具箱,例如,地理空间数据、地理空间几何和地图投影等基础知识和实现方法,还介绍如何利用地图制作工具箱绘制和定制二维、三维地图。
目前,虚拟现实在科研方面迅速地向很多专业领域渗透,是当前计算机图形学研究的三大热点之一。传统的实现方法是使用OpenGL,DirectX3D等API和VRML,VEGA等语言,需要使用者具有较多的知识储备。而MATLAB的虚拟现实工具箱提供专门的VRML编辑器和虚拟场景查看器,可以在不懂VRML语言的情况下实现虚拟场景的创建和浏览,并且这个虚拟场景还可以与MATLAB交互,因而是可控的。对于广大专业工程技术研究人员来说,这无疑是一个福音。
在“数字化地球”的时代,电子地图的制作是热点。MATLAB的地图制作工具箱提供了制作电子地图的一种途径。该工具箱的功能强大,可以绘制三维地图。
在编写过程中,作者力求全书思路清晰,结构合理,叙述流畅,术语地道,实例丰富,并诚挚地希望能收到抛砖引玉的效果。如果你看了书以后很有想法,我们可以交流;如果很有收获,甚至做出一个很好的三维系统,我们愿意分享你的快乐!
本书适合于对MATLAB感兴趣的大学生、研究生、教师和科研技术人员阅读。写作过程中得到了很多读者朋友和网友的热心支持,表示感谢!另外,还要感谢黄国明、刘波、王卫、刘玉珊等给予的帮助!
由于水平有限,书中缺点和错误之处在所难免,谨请读者朋友批评指正!