毕业设计数字图像处理系统的研制.doc
《毕业设计数字图像处理系统的研制.doc》由会员分享,可在线阅读,更多相关《毕业设计数字图像处理系统的研制.doc(30页珍藏版)》请在三一办公上搜索。
1、第一章 绪论前言在社会生产和科研活动中,人们要频繁地接触图片、图画、书报、医学X光片和卫星遥感图像等。图像是人们认识客观世界的重要知识来源,它包含着最原始的巨大信息,人类对这些信息的感受是本能的。视觉是人类感知外部世界的最主要和最直接的途径,科学研究也表明人类所获得的外界信息有70%是通过人的视觉系统,也就是通过图像获得。数字图像处理是指采用计算机处理图像的技术,第一次使用是20世纪60年代美国航空和太空总署(NBSA)的喷气推进实验室使用计算机对太空船发回的大批月球图片进行处理。随着计算机技术的发展。数字图像处理得到了广泛的应用,形成了自己的技术特色和完善的学科体系。本论文的主要内容是在MA
2、TLAB环境下调用其函数实现数字图像处理,并通过VC+6.0调用MATLAB的引擎函数,实现了基本的数字图像处理的功能。在研究的过程中,也进一步了解MATLAB的功能,并且进一步进行了创新思维,重点在设计界面上和程序的优化上做出了一番努力,完成了GUI这样友好化的界面。1.1研究概况MATLAB (matrix laboratory)是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算环境,它集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形数学处理的各种功能。是集数值计算、图形管理、程序开发为一体的环境。在MATLAB环境下,用户可以集成地进行程序设
3、计、数值计算、图形绘制、输入输出、文件管理等各项操作。MATLAB提供了一个人机交互的数学系统环境,该系统的数据结构是矩阵,与利用C语言做数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。本次课题主要任务是数字图像处理系统的研制基于MATLAB数字图像分析、图像增强的设计。利用MATLAB图像处理工具箱提供的数字图像处理函数,实现对已有的图像进行处理。并通过MATLAB的API(Application Programming Interface 应用编程接口)实现与VC+的接口应用。1. 2课题特色与发展前景1.2.1课题特色与创新之处1. GUI(graphical user
4、interfaces)数字图像处理个性化界面2. 操作过程中集合各种控制与显示技术3. 实现VC+环境下调用MATLAB引擎函数进行数字图像处理4. 实现视频剪辑播放 (总时间大约8分钟)1.2.2发展前景MATLAB是近几年来国内外流行的一种用于数值计算及可视化图形处理的工程语言,其语法结构简单,并具有极强的数值计算、图形处理、数据分析、信号处理和仿真等诸多强大功能,集成在GUI计算环境之中,因而备受广大工程科研人员和非计算机专业的编程人员的青睐。相信其发展前景应该是非常有价值。正是由于MATLAB的各种优势和特点,在国外的高等院校里,MATLAB已经成为大学生、硕士生、博士生必须掌握的基本
5、技能。在设计研究单位和工业部门,MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。第二章 MATLAB数字图像处理基本概念2.1数字图像处理学2.1.1数字图像处理的内容数字图像处理工程大体上分为以下几个方面:图像信息获取、图像信息存、图像信息的传送、数字图像处理、图像输出和显示。1) 图像信息获取主要把一幅图像转换成适合输入计算机和数字设备的数字信号,主要包括摄取图像、光电转换及数字化。2) 图像信息存储图像信息的特点就是信息量大,一般作为档案存储主要采用光盘等。为了解决海量存储问题主要研究数据压缩、图像格式及图像数据库技术等。3) 图像信息传送主要分为系统内部传送和远距离传送。
6、4) 数字图像处理数字图像多采用计算机处理,主要包括:几何处理(Geometrical Image Processing)、算术处理(Arithmetic Processing)、图像增强(Image Enhancement)图像复原(Image Restoration)、图像重建(Image Reconstruction)、图像编码(Image Encoding)、图像识别(Image Recognition)、图像理(Image Understanding)5) 图像输出和显示图像显示的最终目的是为人和机器提供一副更便于解释和识别的图像。因此,图像输出也是图像处理的重要内容之一。2.1.2
7、数字图像处理方法数字图像处理方法大致可以分为两类,即空域法和变换域法。1)空域法这种方法是把图像看作平面中各个像素组成的集合,然后直接对二维函数进行相应处理。空域处理法主要有下面两大类。邻域处理法其中包括剃度运算(Gradient Algorithm)、拉普拉斯算子(Laplacian Operator)、平滑算子运算(smoothing Operator)和卷积运算(Convolution Algorithm)。点处理法其中包括灰度处理(gray processing)、面积、周长、体积、重心运算等等。2)变换域法这种方法首先对图像进行正交变换(如傅立叶变换等),得到变换系数阵列,然后对变换
8、后的图像在频域中进行各种再处理(往往相对于空间域内更方便、更快捷),然后把处理结果逆变换到空间域,从而得到处理后的目标图像。2.2 MATLAB图形对象MATLAB的图形系统是面向对象的,也就是说图形输出。一般用户不必去关心这些高级MATLAB命令包含的对象。然而有时需要绘制更精确、更生动、更个性化的图形,MATLAB图形系统也提供了一些低层图形函数。在MATLAB中,专门给由这些低层函数绘图函数生成的对象一个名称,叫句柄图形对象(Handle Graphics Objects),对象每一个实例(instance)都有一个唯一的标识符,即句柄。不同对象的句柄不能重复和混淆。他们之间的关系可如下
9、:图2.2句柄图形对象结构树只有弄清楚了各个图形对象的句柄所对应函数关系才能调用MATLAB数字图像处理函数,否则,再简单的函数,也不能调用正确。本论文中MATLAB源程序中handles.text就是一个比较典型的示例,找好图形对象的句柄就如同抓住了它的操纵杆一样,随你控制,任你控制个性化界面。2.3图像分析 图像分析是为了有效地研究和分析图像,往往需要对给定的图像及已分割的图像区域用更为简单明确的数值、符号或图形来表示。这些数值、符号或图形是按一定的概念和公式从原图像中提取出来的,它们反映原图像的重要信息及原图像的主要特征。2.3.1图像直方图图像的直方图是图像的重要统计特征,它可以认为是
10、图像灰度密度函数的近似。按照随机过程理论,图像还可以看作是一个随机场,因此具有相应的统计特征,其中最重要的特征是灰度密度函数。通常图像的灰度密度函数与像素所在的位置有关,图像灰度统计直方图是一个一维离散函数:P(S)= k=0,1,.L-1 式中,S是图像f(x,y)的第k级灰度值;是f(x,y)中具有灰度值S的像素的个数;N是图像中像素的总数。由定义可知,P(S)给出了对S出现概率的一个估计,所以直方图表明了图像灰度值的分布情况。因此,可通过改变直方图的形状来达到增强图像对比度的效果。以概率论为基础,常用的是直方图的均衡化。一般来讲,偏暗的图像灰度范围很窄,它的像素较多,因此灰度值低,主要集
11、中在低灰度区间上,其在高灰度区间幅度较小或为0,一般偏左;偏亮的图像灰度范围主要集中在高灰度级上,偏坐标的右边;灰蒙蒙的图像同样是因为灰度范围窄,动态范围小,主要集中在中间灰度级上;正常的图像动态范围大,在各个灰度级上都有像素,从而使图像看起来对比度较大,细节清晰。通常一幅均匀量化的自然图像的灰度直方图在低灰度区间上频率较大,这样的图像较暗区域中的细节常常看不清楚,为使图像变清晰,通常可以通过变换是图像的灰度动态范围变大,并且让灰度频率较小的灰度级经变换后,其频率变得大一些,使变换后的图像灰度直方图在较大的动态范围内趋于均化。事实证明,通过图像直方图修改进行图像增强,并分析图像是一种有效的方法
12、。MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图Imhist(I,n)。2.3.2直方图均衡化直方图均衡有时也称灰度均衡,基本思想是把原来的图像的直方图变换成均匀分布的形式,具体操作是:通过点运算使输入图像转换为在每一灰度级上都有相同的像素点数的输出图像。即让灰度直方图在较大的动态范围内趋于一致,这样就增加了像素灰度值的动态范围,从而达到了增强图像整体对比度的效果。MATLAB图像处理工具箱提供了histeq函数用于直方图均衡化。2.4 图像增强图像增强(image enhancement)是数字图像处理过程中经常采用的一种方法,指按照特定的需要突出一幅图像中的某些信
13、息,同时,削弱或去除某些不需要的信息的处理方法,其主要目的是处理图像对某些特定的应用比原来的图像更加有效。获取和传输图像的过程往往会发生图像失真,所得到图像和原始图像有某种程度的差别。如果差别太大,就会影响对图像的理解。在许多情况下,人们不清楚引起图像降质的具体物理过程及其数学模型,但却能根据经验估计出使图像降质的一些可能原因,从而有针对性的改善图像的质量。例如,采用增强对比度的方法可以使图像更清晰;运用平滑技术可以消除噪声;还可以使用微分运算突出边界或其他部分可使变糊涂的信号增强。所有这些都使用了图像增强技术。数字图像增强技术主要包括直方图处理、图像平滑处理、图像锐化处理和彩色处理技术等。在
14、实际应用中,常常联合几中方法处理,以便达到预期的增强效果。技术上,图像增强技术基本分两大类:一类是空域处理法、一类是频域处理法。频域处理法的理论基础是卷积定理。它采用修改图像傅立叶变换的方法实现对图像的增强处理。空域处理法是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。所用的映射变换取决于增强的目的。2.4.1空域滤波增强1、基本原理空域滤波器工作原理可借助频域进行分析。它们的基本特点都是让图像在傅立叶空间的某个范围的分量受到抑制,而让其他分量不受影响,从而改变输出图像的频率分布,达到增强的目的。使用的空域模板进行的图像处理,被称为空域滤波。模板本身被称为空域滤波器。按空域滤波处
15、理效果来分类,可分为平滑滤波器和锐化滤波器。2、平滑滤波器平滑的目的在于消除混杂图像干扰,改善图像质量,强化图像表现特征。它分为线性和非线性平滑滤波器。 线性平滑滤波器线性低通滤波器是最常用的线性平滑滤波器。这种滤波器的所有系数都是正的。当所用的平滑模板是尺寸增大时,消除噪声的效果增强,但同时所得的图像也变得更模糊,细节的锐化程度逐渐减弱。本软件中所采用的维纳滤波器功能,是典型的线性降噪滤波器,它是一种自适应滤波,它能根据图像的局部方差调整滤波器的输出。局部方差越大,滤波器的平滑作用越强。它的最终目标是使恢复图像f*(x,y)与原始图像f(x,y)的均方误差 最小。MATLAB 中调用J=wi
16、ener2(I,m,n,noise)函数,详见附录源程序。 非线性平滑滤波器本软件中使用的中值滤波器是最常用的非线性平滑滤波器,其基本原理是把数字图像或数学序列中的一点的值用该点的一个邻域中各点值的中值代换。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。中值滤波器的主要功能就是让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点。它在衰减噪声的同时不会使图像边界模糊,这是中值滤波器受欢迎的主要原因。MATLAB中调用B=medfilt2(A,m,n)来实现,详见附录源程序。3、锐化滤波
17、器锐化的目的在于增强图像边缘以便对图像进行识别和处理。常分为线性锐化滤波器和非线性锐化滤波器。 线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是负的(如果中心和周围正负交换,则产生边缘锐化的效果),所有的系数之和为0。常用是有拉普拉算子运算h=fspecial(laplacian),本软件中没有应用这种滤波器。 非线性锐化滤波器邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以实现锐化图像。图像处理中最常用的微分方法是利用梯度。对一个二维函数f(x,y),其剃度是一个矢量(需要用两个模板沿x和y方向计算),即 其模(以2为模,对应欧氏距
18、离)为 上述这些组合的方法本身都是非线性的。常用的空域微分算子有sobel算子、prewitt算子、log等。本图像处理中,正是应用了这些算子。在MATLAB中,调用函数为:h1=fspecial(sobel);h2=fspecial(prewitt),h3=fspecial(log).2.4.2 频域滤波增强常用的频域增强方法有低通滤波器和高通滤波器。1、低通滤波器图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分。因此能降低高频成分幅度的滤波器就能减弱噪声的影响。本论文采用Butterworth低通滤波器实现图像处理。它是一种物理上可以实现的低通滤波器,n阶截断
19、频率为d0的Butterworth低通滤波器转移函数为2、高通滤波器高通滤波器也称高频滤波,它的频值在0频率处为单位1,随着频率的增加,传递函数的值逐渐增加;当频率增加到一定的值之后,传递函数的值又回到0值或者降低到某个大于1的值。在前一种情况下,高频增强滤波器实际上是一种带通滤波器,只不过规定0频率处的增益为单位1。N 阶截断频率d0的Butterworth高通滤波器的转移函数为本GUI界面中图像处理是采用Butterworth高通滤波器。但一般经过滤波后图像比较昏暗,很多细节看不清,这是因为图像大部分能量集中在低频区域,而高通滤波使得图中各区域的边界得到较明显增强的同时滤掉了低频分量,使得
20、图中原来比较平滑的区域内部的灰度动态范围被压缩,因而整幅图比较昏暗。第三章 基于MATLAB的GUI界面开发设计图形用户界面(Graphical User Interfaces)在MATLAB程序开发中起着举足轻重的作用。一个好的界面不仅有利于用户快速掌握程序的操作流程,有效地使用程序,也有利于开发者展示MATLAB平台下的开发技术。GUI在科研实践和工程实践中有着广泛的应用,尤其是在图像处理技术、人工智能技术等方面。用户也许对此深有体会;在MATLAB的演示示例中,每一个实例都是GUI成功应用的例子。一个栩栩如生的DEMO实例逐步引导用户了解、熟悉MATLAB的使用。既然GUI在MATLAB
21、中有如此神秘的奥秘,那么,怎么样创建GUI?什么样的GUI才是比较成功的?一个成功的GUI必须建立在精巧的设计之上。本论文接下来介绍开发环境、开发流程、以及实现过程。侧重分析GUI设计时开发者必须遵循的设计原则以及回调函数的编写。相信只要遵循这些原则,你也会成为一名编程高手,你所开发的界面也会很容易为用户所接受。3.1 GUIDE开发环境的介绍既然能够用MATLAB求解数学问题,当然也可以用MATLAB把图形用户界面画出来。首先必须要了解MATLAB中的GUIDE。对于第一次使用GUIDE,只要在MATLAB命令行中输入guide及出现开发界面,而对于已经存在的界面,需要再次修改时,需要gui
22、de+文件名。GUIDE实际上是一套MATLAB工具集,它由五个部分组成:属性编辑器(property editor)、控制面板(control panel)、回调函数(callback function)、调整工具(adjust tools)和菜单编辑器(menu edit)。图3.1 GUIDE环境有了这些工具,就可以设计一个漂亮的GUI。当然,这只是问题的第一步。一旦有了界面,后面的工作便是通过GUIDE的回调函数编辑器编写相应的函数代码,来响应用户界面的操作。3.2 GUI设计原则根据要求不同,设计出来的界面也就千差万别。但是,自从人们开始设计图形界面以来,界面设计的标准是不变的。简单
23、来说,一个好的界面应该遵循以下三个原则:简单性(Simplicity)、一致性(Consistency)、熟悉性(Familiarity)。 简单性简洁明了是图形用户界面设计的最主要的目标。一个简洁的GUI看起来清晰明了,给人一种完整和谐的感觉。其实,在构建GUI时,要为它添加各种功能是很简单的,但是如果添加的功能不是真正必须的,就应当除掉。尽量避免屏幕一团混乱,所设计的GUI只要能完成任务即可。 一致性所谓一致性有两层含义:一是,读者自己开发的界面风格要尽量一致;二是,新设计的界面要与其他已有的界面风格不要截然相反。 熟悉性设计的界面应尽量使用人们熟悉的标志和符号。比如VC的对话框风格、视图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 数字图像 处理 系统 研制

链接地址:https://www.31ppt.com/p-3974797.html