欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    应用图像阳处理MATLAB软件课程设计.doc

    • 资源ID:2105192       资源大小:1.98MB        全文页数:35页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    应用图像阳处理MATLAB软件课程设计.doc

    MATLAB软件课程设计设计题目: 应用图像处理 班 级: 学 号: 姓 名: 指导老师: 设计时间: 2013年4月8日-4月14日 目录摘要. 31、概述 42、课程设计及要求. 42.1设计要求4 2.2设计任务.53、系统设计.5 3.1系统方案5 3.1.1结构框图.5 3.1.2系统工作原理.6 3.2单元模块设计8 3.2.1单元模块的设计.8 3.2.2元模块的连接164、系统调试.19 4.1系统的连接.19 4.2系统的运行.19 4.3运行的结果.23 4.4故障分析.335、收获、心得.346、参考文献. 35摘 要应用图像处理系统是一种专门针对图像需求处理的软件设计,图像处理包括图像数字化,图像增强和复原,图像数字编码,图像分割,图像识别和图像理解等。这种系统广泛应用于IT行业,尤其是对图像的识别处理有重要的意义。本文针对课程设计的要求,分别设计了常用处理模块、图像压缩模块、噪声处理模块、彩色增强模块、灰度变换模块等五大单元模块。基本实现了图像处理功能的需求。 常用处理模块设计了图像的旋转、底片效果、边缘信息、运动模糊处理功能,运用imrotate,imcomplement,edge,fspecial等函数来实现。针对课程任务内容一,设计了图像压缩模块。采用了DCT变换、小波变换和双线插值等方法,实现了图片压缩的效果。针对课程任务内容二,设计了图像增强模块。采用了RGB分量、亮度切割和伪彩色等方法,实现了对图像彩色的增强效果。针对课程任务内容三,设计了灰度变换模块。采用了直方图均衡化和规定化等方法,实现了对图像灰度变换的效果。针对课程任务内容四,设计了噪声处理模块。运用imnoise函数,添加了高斯、椒盐、乘性等三种噪声。设计了均值滤波、中值滤波、维纳滤波、线性滤波等滤波器,实现了对加入噪声图像滤波的功能。其中,中值滤波对椒盐噪声的滤波效果好一点。关键词: 图像处理、DCT变换、小波变换、RGB分量、亮度切割 均衡化、 规定化、 噪声处理1概述进入二十一世纪,人类已步入信息社会,新信息技术革命使人类被日益增多的多媒体信息所包围,这也正好迎合了人类对提高视觉信息的需求性。多媒体信息主要有三种形式:文本、声音和图像。从信息传输的发展史(电报、电话、传真、收音机、电视机直至现在的网络)可以看出,人们逐渐将信息传输的重点从声音转向图像,然而图像是三种信息形式中数据量最大的,这给图像的传输和存储带来了极大的困难。MATLAB是由美国Math-Works公司推出的用于数值计算和图形处理的科学计算软件, MATLAB不仅提供了丰富的图形命令和图形函数,而且其面向对象的图形系统具有强大的图形用户界面(Graphic User Interface,GUI)生成能力。这样,用户就可以充分利用系统提供的GUI特性,编写自己需要的图形界面,从而可以高效地制作出理想的应用软件。在MATLAB中有个重要的图像处理工具包,该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示、图像文件输入与输出、几何操作、像素值统计、图像增强、图像识别、图像滤波、图像变换、邻域和块操作、二值图像操作、颜色映射和颜色空间转换、图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。本文利用MATLAB提供的交互式GUI开发环境,设计了图像处理软件的主界面和各个子功能界面,实现了图像处理的需求功能。2.课程设计任务及要求2.1设计任务1.在图像的变换和压缩中,常常用到离散余弦变换(DCT)。DCT变换用于图像的压缩实例。请在测试图像中验证你的结论。2.请编程实现图像的真彩色增强。3.通过直方图均衡化的方法实现图像的灰度变换,在测试图像中验证你的结论,分析程序结果。4.使用常用的滤波器对数字图像进行处理。如均值滤波器、中值滤波器、维纳滤波器等。5.额外拓展功能,如图像的旋转、底片处理、模糊处理等一些功能。 2.2设计要求 1.程序代码附有必要的注释。 2.报告中对实验的基本算法原理要进行简要叙述。3.系统设计3.1系统方案3.1.1结构框图系 统主界面常用处理模块图像压缩模块噪声处理模块加入噪声彩色增强模块滤波处理灰度变换模块图3-1图像处理结构框图首先键入guide命令,弹出GUI图形用户设计面板。在该设计面板中,左上角设计了菜单栏选项:文件(打开、保存、退出)、编辑(还原、撤销、截图)、帮助等。主界面分别设计了5个单元模块,包括常用处理模块(旋转、底片处理、边缘信息、模糊处理),图像压缩模块(DCT变换、小波变换、线性插值),噪声处理模块(加入噪声和滤波处理),彩色增强模块(RGB分量法、亮度切割法、伪彩色处理),灰度变换模块(均衡化、规定化、灰度加深)。各单元模块中分别加入控件(Push Button和Pop-up Menu)来实现对各功能的控制操作。系统整体结构框图如上图3-1所示。3.2单元模块设计 主界面包括常用处理模块、图像压缩模块、噪声处理模块、彩色增强模块、灰度变换模块。具体设计如下面所述:3.2.1常用处理模块的设计常用模块中设计了图片旋转、底片处理、边缘信息、模糊处理等功能。原理简介如下所述:1.图片旋转原理简介通过imrotate函数来旋转图像。imrotate函数主要包括两个参数:需要旋转的图像和旋转的角度。如果指定一个正的旋转角度,那么imrotate函数将使用指定的插值方法和旋转角度将图像逆时针旋转;如果指定一个负值,那么将按顺时针方向旋转。如果命令中没有指定插补方法,则函数采用默认的最近邻插补方法。对于最近邻插补方法,为了确定插值像素点的数据值,用户必须在输入图像中查找到与输出像素相应的点。2. 底片处理原理简介实现底片效果,即完成对二值图像的求补运算,将二值图像进行黑白两色互换,就是把黑色部分变成白的,把白色部分变成黑的。运用imcomplement函数来实现图像取反,形成底片效果。3. 边缘信息原理简介图像边缘信息是指其周围像素灰度有阶跃变化或“屋顶”变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘,这种方法称为边缘检测局部算子法。如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级的变化带,对这种变化最有用的2个特征(灰度的变化率和方向),它们分别以梯度向量的幅度和方向来表示。边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,也包括方向的确定。设计中采用edge函数来实现边缘信息的获取。4. 模糊处理原理简介运动模糊图像中,在运动方向上大多数模糊图像的背景像素点具有很强的相关性,即沿着运动模糊的轨迹,背景像素点的灰度值逐渐变化或者不变。通过文献的学习,先对模糊图像进行一阶微分,然后进行自相关运算,可得一条鉴别曲线,曲线上会出现对称的相关峰,峰值为负,两相关峰之间的距离等于运动模糊长度。3.2.2图像压缩模块的设计1.DCT变换原理简介离散余弦变换(DCT)是一种与离散傅立叶变换紧密相关的正交变换,8×8的二维离散余弦变换可以将图像的空间表达式转换到频率域,只用少量的数据点来表达图像,用f(x,y)表示8×8的图像块像素值,F(u,v)表示二维离散余弦变换后的值,具体表达式如下: 式 式(3-1)其反变换如下式:式(3-2)其中, 式(3-3)二维离散余弦变换具有可分离性,即可以先对每行进行一维离散余弦变换,再对每列进行一维离散余弦变换,因此,二维离散余弦变换可表示为:式(3-4) 式(3-5)如果直接按照公式计算,其计算量很大,所以,实际应用中普遍采用快速傅立叶变换(FFT)算法来实现离散余弦变换的快速算法。任何连续的事物堆成函数的傅里叶变换中只含有余弦项,因此余弦变换与傅里叶变换一样,有明确的物理意义。DCT实现将整体图像分成N*N像素块,然后对N*N像素块逐一进行DCT 变换。由于大多数的图像的高频分量较小,相应于高频成分的系数经常为零,加上人眼对高频成分的失真不太敏感,所以可以用更粗的量化。因此传送变换系数所用的数码率要大大小于传送图像像素所用的数码率。到达接收端后再通过反离散余弦变换回到样值,虽然会有一定的失真,但是能基本接受。N代表像素数,一般N=8,8*8的二位数据块经DCT后变成8*8个变换系数,这些系数都有着明确的物理意义:U代表水平像素号,V代表处置像素号。随着U、V值增大,相应的系数分别代表逐步压缩的水平空间频率分量和垂直空间频率分量的大小。在JPEG图像压缩算法里,输入图像被分为8*8小块,然后对每一小块进行二位DCT变换,变换后的系数量化、编码并传输,JPEG格式文件解码量化了的DCT系数,对每一块计算二位逆DCT变换,最后把结果块拼接成一个完整的图像。在DCT变换后舍弃那些不严重影响图像重构接近0的系数。2.小波变换原理简介先对一维小波变换作一简单介绍。设f(x)为一维输入信号,记,这里与分别称为定标函数与子波函数,与为二个正交基函数的集合。记P0f=f,在第级上的一维离散小波变换DWT(Discrete Wavelet Transform)通过正交投影Pjf与Qjf将Pj-1f分解为: 式(3-6)其中:, ,式(3-7)这里,h(n)与g(n)分别为低通与高通权系数,它们由基函数与来确定,p为权系数的长度。为信号的输入数据,N为输入信号的长度,L为所需的级数。由上式(3-6)、(3-7)可见,每级一维DWT与一维卷积计算很相似。所不同的是:在DWT中,输出数据下标增加1时,权系数在输入数据的对应点下标增加2,这称为“间隔取样”。在实际应用中,很多情况下采用紧支集小波(Compactly Supported Wavelets),这时相应的尺度系数和小波系数都是有限长度的,不失一般性设尺度系数只有有限个非零值:h1,hN,N为偶数,同样取小波使其只有有限个非零值:g1,gN。为简单起见,设尺度系数与小波函数都是实数。对有限长度的输入数据序列:(其余点的值都看成0),它的离散小波变换为: 式(3-8) , 式(3-9) 其中J为实际中要求分解的步数,最多不超过log2M,其逆变换为, 式(3-10)注意到尺度系数和输入系列都是有限长度的序列,上述和实际上都只有有限项。若完全按照上述公式计算,在经过J步分解后,所得到的J+1个序列和的非零项的个数之和一般要大于M,究竟这个项目增加到了多少?下面来分析一下上述计算过程。j=0时计算过程为: 式(3-11) 式(3-12)不难看出,的非零值范围为:即有个非零值。的非零值范围相同。继续往下分解时,非零项出现的规律相似。分解多步后非零项的个数可能比输入序列的长度增加较多。例如,若输入序列长度为100,N=4,则有51项非零,有27项非零,有15项非零,有9项非零,有6项非零,有4项非零,有4项非零。这样分解到6步后得到的序列的非零项个数的总和为116,超过了输入序列的长度。在数据压缩等应用中,希望总的长度基本不增加,这样可以提高压缩比、减少存储量并减少实现的难度。可以采用稍微改变计算公式的方法,使输出序列的非零项总和基本上和输入序列的非零项数相等,并且可以完全重构。这种方法也相当于把输入序列进行延长(增加非零项),因而称为延拓法。将小波分析映入图像压缩范畴也是一个重要手段,并有着它自己的特点。小波变换压缩特点在于压缩比高、压缩速度快,压缩后能保持信号与图像的特征基本不变,且在传输过程中抗干扰等等。一个图像做小波分解后,可得到一系列不同分辨率的子图像,对应的频率是不相同的。高分辨率子图像上大部分点的数值都接近于0,分辨率越高越明显。而对于一个图像来说,表现图像的最主要的部分是低频部分,所以压缩的方法是利用小波分解去掉图像高频部分二保留低频部分。3.2.3噪声处理模块的设计1.添加噪声(1)高斯噪声。所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。(2)椒盐噪声。椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。大量的实验研究发现,由摄像机拍摄得到的图像受椒盐噪声的影响较严重。噪声给图像处理带来很多困难,对图像分割、特征提取、图像识别等具有直接影响。因此,实时采集的图像需进行滤波处理。消除图像中的噪声成份叫做图像的平滑化或滤波操作。滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;二是为适应计算机处理的要求,消除图像数字化时所混入的噪声。对滤波处理的要求有两条:一是不能损坏图像轮廓及边缘等重要信息;二是使图像清晰,视觉效果好。(3)乘性噪声。一般由信道不理想引起,它们与信号的关系是相乘,信号在它在,信号不在它也就不在。一般通信中把乘性随机性看成系统的时变性(如衰落或者多普勒)或者非线性所造成的。通过imnoise函数来对原始图像加入各种噪声。2.滤波处理(1)均值滤波。它是一种典型的线性滤波算法,是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=1/m f(x,y), m为该模板中包含当前像素在内的像素总个数。均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。(2)中值滤波。它是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。设有一个一维序列,取窗口长度为m(m为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m个数,其中为窗口的中心位置,再将这m个点按其数值大小排列,取其序号为正中间的那作为输出。用数学公式表示为: , 式(3-13)例如:有一个序列为0,3,4,0,7,则中值滤波为重新排序后的序列0,0,3,4,7中间的值为3。此例若用平均滤波,窗口也是取5,那么平均滤波输出为。因此平均滤波的一般输出为: 式(3-14) 对于二维序列进行中值滤波时,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。二维数据的中值滤波可以表示为: 式(3-15)在实际使用窗口时,窗口的尺寸一般先用再取逐渐增大,直到其滤波效果满意为止。对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜,对于包含尖顶角物体的图像,适宜用十字形窗口。使用二维中值滤波最值得注意的是保持图像中有效的细线状物体。与平均滤波器相比,中值滤波器从总体上来说,能够较好地保留原图像中的跃变部分。(3)维纳滤波。20世纪40年代,维纳奠定了关于最佳滤波器研究的基础。即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性,维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。实际上,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。因而,讨论线性滤波器时,一般均以维纳滤波器作为参考。维纳滤波是40年代在线性滤波理论方面所取得的最重要的成果。(4)线性锐化滤波。线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围的系数都是负的。对3*3的模板来说,典型的系数取值是:-1 1 1;-1 8 1;-1 1 -1 式(3-16)事实上这是拉普拉斯算子,所有的系数之和为0。当这样的模板放在图像中灰度值是常数或变化很小的区域时,其输出为0或很小。这个滤波器将原来的图像中的零频域分量去除了,也就是将输出的图像的平均值变为0,这样就会有一部分像素的灰度值小于0。在图像处理中我们一般只考虑正的灰度值,所以还有将输出图像的灰度值范围通过尺度变回到所要求的范围。3.2.4彩色增强模块的设计(1)RGB分量法。颜色分为无彩色和有彩色两种。无彩色指白色、黑色和各种不同程度的灰,无彩色图像也称灰度图像,使用0,255的值来表示其灰度值,0表示黑色,255表示白色,其间是各种深浅不同的灰色,整张图像的像素用一维数组表示即可。彩色指除去上述黑白灰以外的各种颜色,而RGB模型只是彩色模型的其中一种。 RGB模型建立在笛卡尔坐标系统里(三维),其三个轴分别为红R,绿G,蓝B,模型空间是正方体,原点对应黑色,离原点最远的顶点对应白色。RGB的每个分量都使用0,255内的值。对于彩色图像,它的每个像素都有三个分量R、G、B,这三个值一同来表示一个像素,也就是说,彩色图像的像素要用三维数组来表示。比如R轴上,从1,0,0、2,0,0直到255,0,0,是个渐变,都是红色,就是深红浅红的问题。 在彩色图像中,黑色为RGB=0,0,0,白色为RGB=255,255,255。这样就可以理解亮红色为RGB=255,0,0,亮绿色为RGB=0,255,0等等。彩色图像中是三种基色红绿蓝的叠加,不是所谓黑白的叠加。即将图像从RGB分量图转换为HIS分量图,之后将I分量增强,最后再将其转换回RGB。(2)亮度切割法。imadjust函数用于数字图像的灰度或颜色调整,J = imadjust(I) 将灰度图像 I 中的亮度值映射到 J 中的新值并使 1 的数据是在低高强度和饱和,这增加了输出图像 J 的对比度值。 J = imadjust(I,low_in; high_in,low_out; high_out) ,将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in 以下与 high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射到 low_out,high_in 以上的值映射到high_out。它们都可以使用空的矩阵 ,默认值是0 1。 如: i=imread('e:w01.tif'); j=imadjust(i,0.3,0.7, );将图像i转换为j,使灰度值从0.30.7与缺省值01相匹配(3)伪彩色处理。伪彩色处理是指将黑白图像转化为彩色图像,或者是将单色图像变换成给定彩色分布图像。由于人眼对彩色的分辨能力远远高于对灰度的分辨能力,所以将灰度图像转化成彩色表示,就可以提高对图像细节的辨别力。因此,伪色彩处理的主要目的是为了提高人眼对图像细节的分辨能力,以达到图像增强的目的。伪彩色处理的基本原理是将黑白图像或者单色图像的各个灰度级匹配到彩色空间中的一点,从而使单色图像映射成彩色图像。对黑白图像中不同的灰度赋予不同的彩色。值得注意的是,伪彩色虽然能将黑白灰度转化为彩色,但这种彩色并不是真正表现图像的原始颜色,而仅仅是一种便于识别的伪彩色。3.2.5灰度变换模块的设计(1)直方图均衡化直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果。直方图均衡化的具体实现步骤如下:1).列出原始图像的灰度级 式(3-17) 2)统计各灰度级的像素数目 式(3-18) 3).计算原始图像直方图各灰度级的频数 式(3-19) 4).计算累积分布函数 式(3-20) 5).应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号。 式(3-21) 6).统计映射后各灰度级的像素数目 ni, i=0,1,k,P-1。7).计算输出直方图Pg(gi)=ni/n, i=0,1,P-1。8).用fj和gi的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。(2) 直方图规定化直方图均衡化的优点是能自动增强整个图像的对比度,但它的具体增强效果不易控制,处理的结果总是得到全局的均衡化的直方图。实际工作中,有时需要变换直方图使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度,这时可采用比较灵活的直方图规定化方法。直方图规定化增强处理的步骤如下:令Pr(r)和Pz(z)分别为原始图像和期望图像的灰度概率密度函数。如果对原始图像和期望图像均作直方图均衡化处理,应有 式(3-22) 式(3-23) 式(3-24)由于都是进行均衡化处理,处理后的原图像概率密度函数Ps(S)及理想图像概率密度函数PV(V)是相等的。于是,我们可以用变换后的原始图像灰度级S代替式(3-23)中的V。即 Z = G - 1(S) 式(3-25)这时的灰度级Z 便是所希望的图像的灰度级。此外,利用式(3-22)与式(3-23)式还可得到组合变换函数 Z = G - 1T(r) 式(3-26)对连续图像,重要的是给出逆变换解析式。 4.系统程序设计与调试分析4.1常用处理模块的设计1.图片旋转功能主要程序设计:function xiaoguo_Callback(hObject, eventdata, handles)global T %定义全局变量Tva=get( handles.lvbo,'Value');%得到句柄lvbo的Value,赋给vaval=get(hObject,'Value');switch val %用switch语句设置选项case 1 img=rgb2gray(T); %将T转化为二维的灰色图像,赋给imgprompt='旋转角度:' %设置提示字符串defans='0' %设置默认值p=inputdlg(prompt,'input',1,defans); %显示对话框p1=str2num(p1); %将对话框转换为数值f=imrotate(img,p1,'bilinear','crop'); %将图像进行旋转处理axes(handles.axes1); %将结果显示在axes1中imshow(f);title('旋转后图像'); %显示旋转后的图像 运行结果如下图4-1所示,弹出对话框,现在设置旋转角度为30,按“OK”运行结果如下图4-2所示: 图4-1 图4-2分析结果: 图4-2是按逆时针旋转30°的结果,一般输入参数为正数时,图像按逆时针方向旋转;输入负数时,图像按顺时针方向旋转。运行结果正常。 2.底片效果主要程序设计: case 2 %底片效果显示ig2=rgb2gray(T); %将T转化为二维的灰色图像,赋给ig2f2=imcomplement(ig2); %将图像ig2取反,达到黑白色变换,实现底片效果axes (handles.axes1); %将结果显示在axes1中imshow(f2);title('底片效果'); %显示低片效果图像 运行结果如下图4-3所示:图4-3分析结果:图4-3完成了对二值图像的求补运算,将二值图像进行黑白两色互换,就是把黑色部分变成白的,把白色部分变成黑的。运用imcomplement函数来实现图像取反,形成底片效果。程序运行正常。3.边缘信息程序设计: case 3 %显示边缘信息处理图像ig3=rgb2gray(T); %将T转化为二维的灰色图像,赋给ig3f3=edge(ig3,'canny'); %将ig3进行边缘处理axes (handles.axes1); %将结果显示在axes1中imshow(f3);title('边缘信息'); %显示边缘信息图像 运行结果如下图4-4所示: 图4-4结果分析:图4-4显示了边缘信息处理之后的图像,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘。如果一个像素落在图像中某一个物体的边界上,那么它的邻域将成为一个灰度级的变化带,运用edge函数进行运算,达到了效果。程序运行正常。4.模糊处理程序设计: case 4 %显示运动模糊处理结果 LEN = 21; THETA = 0;% 表示摄像物体逆时针方向以0角度运动了21个像素 PSF = fspecial('motion', LEN, THETA); %点扩展函数的卷积运算 blurred = imfilter(T, PSF, 'conv', 'circular'); %对图像f进行滤波 %W2 = deconvwnr(blurred,PSF); %对滤波后的图像进行恢复 axes(handles.axes1); %将结果显示在axes1中 imshow(blurred);title('运动模糊'); %显示运动模糊图像 运行结果如下图4-5所示:图4-5结果分析: 从图4-5所示,运行之后的图像明显比原图像模糊,程序运行正常。4.2 图像压缩模块的设计1. DCT变换程序设计:function yasuo_Callback(hObject, eventdata, handles)global T 定义全局变量Tva=get(handles.yasuo,'Value');%得到句柄yasuo的Value,赋给vaval=get(hObject,'Value');switch val %用switch语句设置选项case 1 %显示DCT变换图像i=rgb2gray(T);%将真彩色RGB图像转换成灰度图像(RGB并不发生变化)I=im2double(i);%把灰度图像的数据类型转换成双精度浮点类型T=dctmtx(8);%生成一个8*8 DCT变换矩阵B=blkproc(I,8 8,'P1*x*P2',T,T');%P1*x*P2相当于像素块的处理函数,P1=T P2=T',进行离散余弦变换mask=1 1 1 1 0 0 0 0;1 1 1 0 0 0 0 0;1 1 0 0 0 0 0 0;1 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0;%8*8的二维数据块经DCT后变成8*8个变换系数,代表低频成份的量分布于左上角,而越高频率成份越向右下角分布C=blkproc(B,8 8,'P1.*x',mask);%数据压缩,丢弃右下角高频数据D=blkproc(C,8 8,'P1*x*P2',T',T);%进行DCT反变换,得到压缩后的图像axes(handles.axes2); %将结果显示在axes2中imshow(D);title('DCT变换'); %显示DCT变换之后的图像运行结果如下图4-6所示:图4-6结果分析: 图4-6是一个8*8的二维离散余弦变换将图像的空间表达式转换到频率域,只用少量的数据点来表达图像。8*8的二维数据块经DCT后变成8*8个变换系数,代表低频成份的量分布于左上角,而越高频率成份越向右下角分布,经过运算,丢弃右下角高频数据,从而达到图像的压缩效果。 2.小波变换程序设计:case 2X=rgb2gray(T);X=double(X)/255; %归一化处理colormap(pink); %颜色映射C,S=wavedec2(X,1,'bior3.7'); %对图像用bior3.7'小波进行1层小波分解thr=20; %设置小波系数阈值cal=appcoef2(C,S,'bior3.7',1); %提取小波分解结构中第1 层的低频系数和高频系数ch1=detcoef2('h',C,S,1);cv1=detcoef2('v',C,S,1);cd1=detcoef2('d',C,S,1);a1=wrcoef2('a',C,S,'bior3.7',1); %分别对各频率成分进行重构h1=wrcoef2('h',C,S,'bior3.7',1);v1=wrcoef2('v',C,S,'bior3.7',1);d1=wrcoef2('d',C,S,'bior3.7',1);c1=a1,h1;v1,d1;%进行图像压缩处理,保留小波分解第1层低频信息,进行图像的压缩%第1层的低频信息为ca2,显示第1层的低频信息ca1=appcoef2(C,S,'bior3.7',1);

    注意事项

    本文(应用图像阳处理MATLAB软件课程设计.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开