基于MATLAB GUI的图像滤波器的设计要点.docx

上传人:b****5 文档编号:6991694 上传时间:2023-01-15 格式:DOCX 页数:13 大小:1.14MB
下载 相关 举报
基于MATLAB GUI的图像滤波器的设计要点.docx_第1页
第1页 / 共13页
基于MATLAB GUI的图像滤波器的设计要点.docx_第2页
第2页 / 共13页
基于MATLAB GUI的图像滤波器的设计要点.docx_第3页
第3页 / 共13页
基于MATLAB GUI的图像滤波器的设计要点.docx_第4页
第4页 / 共13页
基于MATLAB GUI的图像滤波器的设计要点.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于MATLAB GUI的图像滤波器的设计要点.docx

《基于MATLAB GUI的图像滤波器的设计要点.docx》由会员分享,可在线阅读,更多相关《基于MATLAB GUI的图像滤波器的设计要点.docx(13页珍藏版)》请在冰豆网上搜索。

基于MATLAB GUI的图像滤波器的设计要点.docx

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

 

课程设计报告

 

题目:

图像滤波器的设计

 

学生姓名:

刘瑞

学生学号:

1114030118

系别:

电气信息工程学院

专业:

通信工程

届别:

15届

指导教师:

陈帅

电气信息工程学院制

2014年6月

图像滤波器的设计

学生:

刘瑞

指导教师:

陈帅

电气信息工程学院通信工程专业

1目的与要求

1.1目的:

利用MATLAB的GUI程序设计一个简单实用的图像处理程序。

该程序具备1.2中所述的图像处理功能,以满足本次设计要求。

1.2要求:

设计一个MATLAB图形界面,可以选择输入图像文件,对图形文件进行多种加噪声,设计滤波器进行滤波处理,并显示结果。

2方案制定

2.1设计原理:

本设计利用MATLAB软件设计图像界面以实现相应功能,图像界面,简称GUI,是一种提供人机交互的工具和方法。

MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。

在MATLAB中的GUIDE就是图像用户界面开发环境,它向用户提供了一系列的创建用户图像界面的工具。

这大大简化了GUI设计和生成的过程

2.2功能分析

设计要求该图形界面可以选择输入图像文件,可使用GUI中的“PushButton”按键或是通过工具条中的“MenuEditor”设计相应功能。

本次设计采用后者实现。

在满足基本要求下,添加“保存图像”和“退出”两项菜单功能

通过三种噪声(椒盐、高斯、乘性)和两种滤波器(高通、低通)对图像进行加噪声和滤波处理。

噪声是不可预测的,只能用概率方法来认识的随机误差。

三种噪声特性见4.2小节。

低通滤波器的功能是让低频率通过而滤掉高频,其作用是过滤包含在高频中的噪声。

所以低通滤波器的效果是图像去噪声平滑增强,但同时也抑制图像的边界,造成图像模糊。

对于大小M*N的图像,频率点为(u,v)与频域中心距离为D(u,v),则

(1)

高通滤波器是抑制低频,让高频分量通过,其作用是使图像得到锐化处理,突出图像边界。

高通滤波器的产生公式为

(2)

设计两个显示图像的窗口,一个用于显示原始图像,另一个用于显示处理后的图像。

3界面设计

3.1设计界面

设计界面分为显示区域与操作区域两部分。

显示区域用于显示载入的图像和处理后的图像,操作区域用于实现图像的选取和处理。

设计完成后运行的软件界面如图1所示。

 

图1设计界面

3.2菜单界面

通过“Menu Editor”创建如下菜单,通过以下菜单来选择输入图形文件并做相应处理,如图2所示

图2菜单界面

4具体设计

4.1菜单

4.1.1载入图像

载入图像时,通过对话框的形式来选择文件,通过uigetfile函数来实现,调用的格式为[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.gif'},'载入图像').通过file=[pathnamefilename];x=imread(file)读取选中的图像,通过imshow(x)在显示区域上显示图像。

如图3、图4所示。

其中图3为程序运行时弹出的选择图像对话框,图4为载入图像后的图形界面。

图3载入图像对话框图4载入图像

4.1.2保存图像

保存图像时,通过“uiputfile”、“imwrite”函数实现。

[sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.gif';'*.*'},'保存图像','untitled.jpg')实现选择图像文件保存的路径与格式;然后,通过sfilefullname=[sfilepath,sfilename];imwrite(handles.img,sfilefullname);实现对图像的保存。

4.1.3退出

退出程序,可通过clc;closeall;close(gcf);clear;实现

4.2加噪声

设计中,可以通过函数imnoise()给图像添加噪声,调用格式为f=imnoise(I,type,parameters);其中I指要添加噪声的图像,type为噪声类型,parameters为对应噪声的参数

4.2.1椒盐噪声

椒盐噪声又称双极脉冲噪声,其概率密度函数为:

(3)

指图像中出现的噪声只有两种灰度值,分别为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”,调用的格式为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的均匀分布的随机噪声。

如图7所示。

 

图7原始图像与添加乘性噪声后图像

4.3滤波器

4.3.1低通滤波器(以巴特沃斯低通滤波器为例)

巴特沃斯低通滤波器产生公式为

(5)

其中

为截至频率,n为阶数

设计中选择截至频率为50,阶数为2,程序运行后图像如图8所示。

图8原始图像与低通滤波后图像

4.3.2高通滤波器(以巴特沃斯高通滤波器为例)

巴特沃斯高通滤波器的产生函数为:

(6)

为截至频率,n为阶数

设计中选择截至频率为25,阶数为2,程序运行后图像如图9所示。

 

图9原始图像与高通滤波后图像

5结果分析

软件测试基本成功,课题所要求的功能均能较好实现。

其中值得一提的是在滤波处理中的低通滤波与高通滤波的效果。

由于一般图像中含有较多的低频信息成分高频成分较少,通过低通滤波后,噪声以及高频成分被滤除,图像虽有少量失真,略显模糊,但尚可辨识。

但若是通过高通滤波后,大量的有效低频信息被滤除,图像严重失真,不可辨识。

6心得体会

刚看到题目时,感觉有点高深莫测,一时无从下手,在查阅资料和请教陈老师与同学后,逐步对课题和其所涉及的Matlab、图像处理等方面的知识有所了解,渐渐的找到了解决问题的途径。

由于本次设计题目需要利用MatlabGUI设计软件界面对图像进行处理,我利用课余时间,重新复习了matlab教材,专门借阅了利用matlab进行图像处理的相关教程,通过索引网络上的相关资料,为课设做了较为充分的准备。

在参考了相关材料及源程序,我对自己要做的课设内容有了进一步的了解,并对matlab的使用有了更深的体会。

设计滤波器对图像进行滤波处理时,处理后的图像变小,与原始图像大小不一样,通过修改源程序,将原始图像转化为灰度图后,再滤波处理,显示为正常大小图像。

设计时,对于程序的编写是整个课程的关键,参考相关程序,不能正常运行,经过反复检查和修改,最终时所有操作均可正常执行。

总的来说,此次的课程设计,不但鞭策着我去巩固matlab的基础理论知识,还提高了我对matlab的实际操作运用,使得理论与实践相结合,为进一步学习matlab打下坚实的基础;也为即将到来的大四毕业设计的完成奠定一定的基础。

7参考文献

[1]刘卫国.《MATLAB程序设计与应用》2006.7217-236

[2]杨丹,赵海滨,龙哲,等.《MATLAB图像处理实例教程》2013.7186-200.

 

附录

载入图像

[filenamepathname]=...

uigetfile({'*.jpg';'*.bmp';'*.gif'},'载入图像');

file=[pathnamefilename];

globalS

S=file;

x=imread(file);

set(handles.axes1,'HandleVisibility','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,sfilefullname);

椒盐噪声

prompt={'input1:

'};

defans={'0.02'};

p=inputdlg(prompt,'input',1,defans);

p1=str2num(p{1});

f=imnoise(handles.img,'salt&pepper',p1);

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(p{1});

p2=str2num(p{2});

f=imnoise(handles.img,'gaussian',p1,p2);

imshow(f);

axes(handles.axes2);

handles.noise_img=f;

guidata(hObject,handles);

乘性噪声

prompt={'input1:

'};

defans={'0.02'};

p=inputdlg(prompt,'input',1,defans);

p1=str2num(p{1});

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;

d0=50;

m=fix(M/2);n=fix(N/2);

fori=1:

M

forj=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(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);

fori=1:

M

forj=1:

N

d=sqrt((i-m)^2+(j-n)^2);

ifd<=d0

h=0;

elseh=1;

end

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

y2=ifft2(result);

y3=uint8(real(y2));

imshow(y3);

 

指导教师评语

成绩(60%)

指导教师签字:

年月日

答辩小组评语

成绩(40%)

答辩小组签字:

年月日

教研室综合意见

综合成绩

教研室主任签字(盖章):

年月日

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1