基于MATLABGUI的图像滤波器的设计要点.pdf

上传人:tbuqq 文档编号:5207601 上传时间:2020-02-20 格式:PDF 页数:11 大小:1.24MB
返回 下载 相关 举报
基于MATLABGUI的图像滤波器的设计要点.pdf_第1页
第1页 / 共11页
基于MATLABGUI的图像滤波器的设计要点.pdf_第2页
第2页 / 共11页
基于MATLABGUI的图像滤波器的设计要点.pdf_第3页
第3页 / 共11页
基于MATLABGUI的图像滤波器的设计要点.pdf_第4页
第4页 / 共11页
基于MATLABGUI的图像滤波器的设计要点.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于MATLABGUI的图像滤波器的设计要点.pdf》由会员分享,可在线阅读,更多相关《基于MATLABGUI的图像滤波器的设计要点.pdf(11页珍藏版)》请在三一文库上搜索。

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

2、定 2.1 设计原理 : 本设计利用 MATLAB 软件设计图像界面以实现相应功能, 图像界面, 简称 GUI,是一种提供人机交互的工具和方法。MATLAB 的 GUI为开发者提供了一个不 脱离 MATLAB 的开发环境,有助于MATLAB 程序的 GUI集成。在 MATLAB 中的 GUIDE 就 是图像用户界面开发环境, 它向用户提供了一系列的创建用户图像界面的工具。这大 大简化了 GUI设计和生成的过程 1 。 2.2 功能分析 设计要求该图形界面可以选择输入图像文件,可使用GUI中的“ Push Button ” 按键或是通过工具条中的“Menu Editor ”设计相应功能。本次设计

3、采用后者实现。 在满足基本要求下,添加“保存图像”和“退出”两项菜单功能 1 。 通过三种噪声(椒盐、高斯、乘性)和两种滤波器(高通、低通)对图像进行加 噪声和滤波处理。 噪声是不可预测的,只能用概率方法来认识的随机误差。三种噪声特性见4.2 小节。 低通滤波器的功能是让低频率通过而滤掉高频,其作用是过滤包含在高频中的噪 声。所以低通滤波器的效果是图像去噪声平滑增强,但同时也抑制图像的边界, 造成 图像模糊。对于大小M*N的图像,频率点为( u,v )与频域中心距离为D(u,v ), 则 220.5 ( , )()() 22 MN D u vuv 2 (1) 高通滤波器是抑制低频, 让高频分量

4、通过, 其作用是使图像得到锐化处理,突出 图像边界。高通滤波器的产生公式为 第 2 页 0 0 0,( , ) H(u,v)= 1,( , ) D u vD D u vD 2 (2) 设计两个显示图像的窗口, 一个用于显示原始图像, 另一个用于显示处理后的图 像。 3 界面设计 3.1 设计界面 设计界面分为显示区域与操作区域两部分。 显示区域用于显示载入的图像和处理后的图像,操作区域用于实现图像的选取和 处理。设计完成后运行的软件界面如图1 所示。 图 1 设计界面 3.2 菜单界面 通过“ Menu Editor ”创建如下菜单,通过以下菜单来选择输入图形文件并做相 应处理,如图 2 所示

5、 第 3 页 图 2 菜单界面 4 具体设计 4.1菜单 4.1.1 载入图像 载入图像时,通过对话框的形式来选择文件,通过uigetfile函数来实现,调用 的格式为 filename,pathname=uigetfile(*.jpg;*.bmp;*.gif, 载入图 像).通过file=pathname filename;x=imread(file)读取选中的图像,通过 imshow(x) 在显示区域上显示图像。如图3、图 4 所示。其中图 3 为程序运行时弹出 的选择图像对话框,图4 为载入图像后的图形界面。 图 3 载入图像对话框图 4 载入图像 第 4 页 4.1.2 保存图像 保存

6、图像时,通过“ uiputfile”、 “imwrite ”函数实现。 sfilename ,sfilepath=uiputfile(*.jpg;*.bmp;*.gif;*.*,保存 图 像 ,untitled.jpg)实 现 选 择 图 像 文 件 保 存 的 路 径 与 格 式 ; 然 后 , 通 过 sfilefullname=sfilepath,sfilename;imwrite(handles.img,sfilefullname);实 现对图像的保存。 4.1.3 退出 退出程序,可通过clc;close all;close(gcf);clear;实现 4.2 加噪声 设 计 中 ,

7、 可 以 通 过 函 数imnoise()给 图 像 添 加 噪 声 , 调 用 格 式 为 f=imnoise(I,type,parameters);其中 I 指要添加噪声的图像,type 为噪声类型, parameters 为对应噪声的参数 2 。 4.2.1 椒盐噪声 椒盐噪声又称双极脉冲噪声,其概率密度函数为: , ( ), 0, Pa za p zPb zb other (3) 指图像中出现的噪声只有两种灰度值,分别为a 和 b, 出现的概率为 Pa和 Pb 2 。 Matlab中 产 生 椒 盐 噪 声 的 函 数 为 “ salt axes(handles.axes2); 显示在

8、 axes2 中。如图 5 所示。 图 5 原始图像与添加椒盐噪声后图像 第 5 页 4.2.2 高斯噪声 高斯噪声是一种源于电子电路噪声和由低照明度或高温带来的传感器噪声。又称 正态噪声。其概率密度函数为 2 2 2 () 1 ( )() 2 z u p ze(4) z 表示灰度值, u 表示噪声期望,为噪声的标准差 2 。Matlab 中产生高斯噪声 的函数为“ gaussian ”, 调用的格式为 f=imnoise(handles.img,gaussian,p1,p2); 其中 p1为高斯噪声的均值, p2 为方差。通过 imshow(f);axes(handles.axes2);显示

9、 在 axes2 中。如图 6 所示 图 6 原始图像与添加高斯噪声后图像 4.2.3 乘性噪声 与高斯噪声和椒盐噪声类似,利用函数“speckle ”可为图像添加乘性噪声,调 用格式为 f=imnoise(handles.img,speckle,p1)。由公式 f= (handles.img)*n*p1, 降乘性噪声添加到handles.img (图像)中,其中 n 是均值为 0,方差为 p1的均匀分 布的随机噪声。如图7 所示。 图 7 原始图像与添加乘性噪声后图像 第 6 页 4.3 滤波器 4.3.1 低通滤波器(以巴特沃斯低通滤波器为例) 巴特沃斯低通滤波器产生公式为 2 0 1 H

10、(u,v)= 1 ( , )/ n D u vD (5) 其中 0 D 为截至频率, n 为阶数 2 。设计中选择截至频率为50,阶数为 2,程序运 行后图像如图 8 所示。 图 8 原始图像与低通滤波后图像 4.3.2 高通滤波器(以巴特沃斯高通滤波器为例) 巴特沃斯高通滤波器的产生函数为: 2 0 1 H(u,v)= 1/( , ) n DDu v ( 6) 0 D 为截至频率, n 为阶数 2 。设计中选择截至频率为25,阶数为 2,程序运行后 图像如图 9 所示。 图 9 原始图像与高通滤波后图像 第 7 页 5 结果分析 软件测试基本成功, 课题所要求的功能均能较好实现。其中值得一提

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

12、b 进行图像处理的相关教程, 通过索引网络上的相关资料, 为课设做了较为充分的准备。 在参考了相关材料及源程序,我对自己要做的课设内容有了进一步的了解,并对 matlab 的使用有了更深的体会。 设计滤波器对图像进行滤波处理时, 处理后的图像变小,与原始图像大小不一样, 通过修改源程序,将原始图像转化为灰度图后,再滤波处理,显示为正常大小图像。 设计时,对于程序的编写是整个课程的关键,参考相关程序,不能正常运行,经过反 复检查和修改,最终时所有操作均可正常执行。 总的来说,此次的课程设计,不但鞭策着我去巩固matlab 的基础理论知识,还 提高了我对 matlab 的实际操作运用,使得理论与实

13、践相结合,为进一步学习matlab 打下坚实的基础;也为即将到来的大四毕业设计的完成奠定一定的基础。 7 参考文献 1 刘卫国 . MATLAB 程序设计与应用 2006.7 217-236 2 杨丹,赵海滨,龙哲,等. MATLAB 图像处理实例教程 2013.7 186-200. 第 8 页 附录 载入图像 filename pathname = . uigetfile(*.jpg;*.bmp;*.gif, 载入图像 ); file=pathname filename; global S S=file; x=imread(file); set(handles.axes1,HandleVis

14、ibility,ON); axes(handles.axes1); 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=sfilepath ,sfilename; imwrite(handles.img,sfil

15、efullname); 椒盐噪声 prompt=input1:; defans=0.02; p=inputdlg(prompt,input,1,defans); p1=str2num(p1); f=imnoise(handles.img,salt imshow(f); axes(handles.axes2); handles.noise_img=f; guidata(hObject,handles); 高斯噪声 prompt=input1:,input2; defans=0,0.02; p=inputdlg(prompt,input,1,defans); p1=str2num(p1); p2=

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

17、se_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; 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); end end result=ifftshift(

18、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=fix(M/2);n=fix(N/2); for i=1:M for j=1:N d=sqrt(i-m)2+(j-n)2); if d=d0 h=0; else h=1; end result(i,j)=h*g(i,j); end end result=ifftshift(result); y2=ifft2(result); y3=uint8(real(y2); imshow(y3); 第 1 页 指导教师评语 成绩(60% ) 指导教师签字: 年月日 答辩小组评语 成绩(40% ) 答辩小组签字: 年月日 教研室综合意见 综合成绩 教研室主任签字(盖章) : 年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


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