基于MATLABGUI的图像滤波器的设计_第1页
基于MATLABGUI的图像滤波器的设计_第2页
基于MATLABGUI的图像滤波器的设计_第3页
基于MATLABGUI的图像滤波器的设计_第4页
基于MATLABGUI的图像滤波器的设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告题 目: 图像滤波器的设计 学生姓名: 刘瑞 学生学号: 1114030118 系 别: 电气信息工程学院 专 业: 通信工程 届 别: 15届 指导教师: 陈帅 电气信息工程学院制2014年6月图像滤波器的设计学生:刘瑞指导教师:陈帅电气信息工程学院 通信工程专业1 目的与要求1.1目的:利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序具备1.2中所述的图像处理功能,以满足本次设计要求。1.2要求:设计一个MATLAB图形界面,可以选择输入图像文件,对图形文件进行多种加噪声,设计滤波器进行滤波处理,并显示结果。2 方案制定2.1 设计原理:本设计利用MATLAB

2、软件设计图像界面以实现相应功能,图像界面,简称GUI,是一种提供人机交互的工具和方法。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。在MATLAB中的GUIDE就是图像用户界面开发环境,它向用户提供了一系列的创建用户图像界面的工具。这大大简化了GUI设计和生成的过程。2.2 功能分析设计要求该图形界面可以选择输入图像文件,可使用GUI中的“Push Button”按键或是通过工具条中的“Menu Editor”设计相应功能。本次设计采用后者实现。在满足基本要求下,添加“保存图像”和“退出”两项菜单功能。通过三种噪声(椒盐、高斯、乘性)和

3、两种滤波器(高通、低通)对图像进行加噪声和滤波处理。噪声是不可预测的,只能用概率方法来认识的随机误差。三种噪声特性见4.2小节。低通滤波器的功能是让低频率通过而滤掉高频,其作用是过滤包含在高频中的噪声。所以低通滤波器的效果是图像去噪声平滑增强,但同时也抑制图像的边界,造成图像模糊。对于大小M*N的图像,频率点为(u,v)与频域中心距离为D(u,v),则 (1)高通滤波器是抑制低频,让高频分量通过,其作用是使图像得到锐化处理,突出图像边界。高通滤波器的产生公式为 (2) 设计两个显示图像的窗口,一个用于显示原始图像,另一个用于显示处理后的图像。3 界面设计3.1 设计界面设计界面分为显示区域与操

4、作区域两部分。显示区域用于显示载入的图像和处理后的图像,操作区域用于实现图像的选取和处理。设计完成后运行的软件界面如图1所示。图1 设计界面3.2菜单界面通过“Menu Editor”创建如下菜单,通过以下菜单来选择输入图形文件并做相应处理,如图2所示图2 菜单界面4具体设计 4.1菜单4.1.1 载入图像载入图像时,通过对话框的形式来选择文件,通过uigetfile函数来实现,调用的格式为filename,pathname=uigetfile ('*.jpg''*.bmp''*.gif', '载入图像').通过file

5、=pathname filename; x=imread(file)读取选中的图像,通过imshow(x)在显示区域上显示图像。如图3、图4所示。其中图3为程序运行时弹出的选择图像对话框,图4为载入图像后的图形界面。图3 载入图像对话框 图4 载入图像4.1.2保存图像保存图像时,通过“uiputfile”、“imwrite”函数实现。sfilename ,sfilepath=uiputfile('*.jpg''*.bmp''*.gif''*.*','保存图像','untitled.jpg')实现选

6、择图像文件保存的路径与格式;然后,通过sfilefullname=sfilepath,sfilename;imwrite(handles.img,sfilefullname);实现对图像的保存。4.1.3退出退出程序,可通过clc;close all;close(gcf);clear;实现4.2 加噪声设计中,可以通过函数imnoise()给图像添加噪声,调用格式为f=imnoise(I,type,parameters);其中I指要添加噪声的图像,type为噪声类型,parameters为对应噪声的参数。4.2.1椒盐噪声椒盐噪声又称双极脉冲噪声,其概率密度函数为: (3)指图像中出现的噪声只

7、有两种灰度值,分别为a和b,出现的概率为Pa和Pb。Matlab中产生椒盐噪声的函数为“salt & pepper”,调用格式f=imnoise(handles.img,'salt&pepper',p1)通过imshow(f);axes(handles.axes2); 显示在axes2中。如图5所示。图5 原始图像与添加椒盐噪声后图像4.2.2高斯噪声高斯噪声是一种源于电子电路噪声和由低照明度或高温带来的传感器噪声。又称正态噪声。其概率密度函数为 (4)z表示灰度值,u表示噪声期望,为噪声的标准差。Matlab中产生高斯噪声的函数为“gaussian”,调用的格

8、式为f=imnoise(handles.img,'gaussian',p1,p2);其中p1为高斯噪声的均值,p2为方差。通过imshow(f);axes(handles.axes2);显示在axes2中。如图6所示图6 原始图像与添加高斯噪声后图像4.2.3乘性噪声与高斯噪声和椒盐噪声类似,利用函数“speckle”可为图像添加乘性噪声,调用格式为f=imnoise(handles.img,'speckle',p1)。由公式f= (handles.img)*n*p1,降乘性噪声添加到handles.img(图像)中,其中n是均值为0,方差为p1的均匀分布的随机

9、噪声。如图7所示。图7 原始图像与添加乘性噪声后图像4.3 滤波器4.3.1低通滤波器(以巴特沃斯低通滤波器为例)巴特沃斯低通滤波器产生公式为 (5)其中为截至频率,n为阶数。设计中选择截至频率为50,阶数为2,程序运行后图像如图8所示。图8 原始图像与低通滤波后图像4.3.2 高通滤波器(以巴特沃斯高通滤波器为例)巴特沃斯高通滤波器的产生函数为: (6)为截至频率,n为阶数。设计中选择截至频率为25,阶数为2,程序运行后图像如图9所示。图9 原始图像与高通滤波后图像5 结果分析软件测试基本成功,课题所要求的功能均能较好实现。其中值得一提的是在滤波处理中的低通滤波与高通滤波的效果。由于一般图像

10、中含有较多的低频信息成分高频成分较少,通过低通滤波后,噪声以及高频成分被滤除,图像虽有少量失真,略显模糊,但尚可辨识。但若是通过高通滤波后,大量的有效低频信息被滤除,图像严重失真,不可辨识。6 心得体会刚看到题目时,感觉有点高深莫测,一时无从下手,在查阅资料和请教陈老师与同学后,逐步对课题和其所涉及的Matlab、图像处理等方面的知识有所了解,渐渐的找到了解决问题的途径。由于本次设计题目需要利用Matlab GUI设计软件界面对图像进行处理,我利用课余时间,重新复习了matlab教材,专门借阅了利用matlab进行图像处理的相关教程,通过索引网络上的相关资料,为课设做了较为充分的准备。在参考了

11、相关材料及源程序,我对自己要做的课设内容有了进一步的了解,并对matlab的使用有了更深的体会。设计滤波器对图像进行滤波处理时,处理后的图像变小,与原始图像大小不一样,通过修改源程序,将原始图像转化为灰度图后,再滤波处理,显示为正常大小图像。设计时,对于程序的编写是整个课程的关键,参考相关程序,不能正常运行,经过反复检查和修改,最终时所有操作均可正常执行。总的来说,此次的课程设计,不但鞭策着我去巩固matlab的基础理论知识,还提高了我对matlab的实际操作运用,使得理论与实践相结合,为进一步学习matlab打下坚实的基础;也为即将到来的大四毕业设计的完成奠定一定的基础。 7 参考文献1刘卫

12、国. MATLAB程序设计与应用 2006.7 217-2362杨丹,赵海滨,龙哲,等.MATLAB图像处理实例教程 2013.7 186-200.附录载入图像filename pathname = .uigetfile('*.jpg''*.bmp''*.gif', '载入图像');file=pathname filename;global SS=file;x=imread(file);set(handles.axes1,'HandleVisibility','ON');axes(handles.a

13、xes1);imshow(x);set(handles.axes1,'HandleVisibility','OFF');axes(handles.axes2);imshow(x);handles.img=x;guidata(hObject,handles);保存图像sfilename ,sfilepath=uiputfile('*.jpg''*.bmp''*.gif''*.*','保存图像','untitled.jpg');stilefullname=sfilepat

14、h ,sfilename;imwrite(handles.img,sfilefullname);椒盐噪声prompt='input1:'defans='0.02'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);f=imnoise(handles.img,'salt & pepper',p1);imshow(f);axes(handles.axes2);handles.noise_img=f;guidata(hObject,handles);高斯噪声prompt='

15、;input1:','input2'defans='0','0.02'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);p2=str2num(p2);f=imnoise(handles.img,'gaussian',p1,p2);imshow(f);axes(handles.axes2);handles.noise_img=f;第 2 页 guidata(hObject,handles);乘性噪声prompt='input1:'defans

16、='0.02'p=inputdlg(prompt,'input',1,defans);p1=str2num(p1);f=imnoise(handles.img,'speckle',p1);imshow(f);axes(handles.axes2);handles.noise_img=f;guidata(hObject,handles);低通滤波器axes(handles.axes2);y1=handles.img;h=rgb2gray(y1);f=double(h);g=fft2(f);g=fftshift(g);M,N=size(g);nn=2

17、;d0=50;m=fix(M/2); n=fix(N/2);for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); h=1/(1+0.414*(d/d0)(2*nn); result(i,j)=h*g(i,j); endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2);imshow(y3);高通滤波器axes(handles.axes2);y1=(handles.img);h=rgb2gray(y1);f=double(h);k=fft2(f);g=fftshift(k);M,N=size(g);nn=2;d0=25;m=f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论