文档介绍:课程设计报告题目:图像滤波器的设计 :利用MATLAB的GUI程序设计一个简单实用的图像处理程序。,以满足本次设计要求。:设计一个MATLAB图形界面,可以选择输入图像文件,对图形文件进行多种加噪声,设计滤波器进行滤波处理,并显示结果。:本设计利用MATLAB软件设计图像界面以实现相应功能,图像界面,简称GUI,是一种提供人机交互的工具和方法。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。在MATLAB中的GUIDE就是图像用户界面开发环境,它向用户提供了一系列的创建用户图像界面的工具。这大大简化了GUI设计和生成的过程。,可使用GUI中的“PushButton”按键或是通过工具条中的“MenuEditor”设计相应功能。本次设计采用后者实现。在满足基本要求下,添加“保存图像”和“退出”两项菜单功能。通过三种噪声(椒盐、高斯、乘性)和两种滤波器(高通、低通)对图像进行加噪声和滤波处理。噪声是不可预测的,只能用概率方法来认识的随机误差。。低通滤波器的功能是让低频率通过而滤掉高频,其作用是过滤包含在高频中的噪声。所以低通滤波器的效果是图像去噪声平滑增强,但同时也抑制图像的边界,造成图像模糊。对于大小M*N的图像,频率点为(u,v)与频域中心距离为D(u,v),则(1)高通滤波器是抑制低频,让高频分量通过,其作用是使图像得到锐化处理,突出图像边界。高通滤波器的产生公式为(2)设计两个显示图像的窗口,一个用于显示原始图像,另一个用于显示处理后的图像。。显示区域用于显示载入的图像和处理后的图像,操作区域用于实现图像的选取和处理。设计完成后运行的软件界面如图1所示。“Menu Editor”创建如下菜单,通过以下菜单来选择输入图形文件并做相应处理,,通过对话框的形式来选择文件,通过uigetfile函数来实现,调用的格式为[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.gif'},'载入图像').通过file=[pathnamefilename];x=imread(file)读取选中的图像,通过imshow(x)在显示区域上显示图像。如图3、图4所示。其中图3为程序运行时弹出的选择图像对话框,图4为载入图像后的图形界面。,通过“uiputfile”、“imwrite”函数实现。[sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.gif';'*.*'},'保存图像','')实现选择图像文件保存的路径与格式;然后,通过sfilefullname=[sfilepath,sfilename];imwrite(,sfilefullname);实现对图像的保存。,可通过clc;closeall;close(gcf);clear;,可以通过函数imnoise()给图像添加噪声,调用格式为f=imnoise(I,type,parameters);其中I指要添加噪声的图像,type为噪声类型,parameters为对应噪声的参数。,其概率密度函数为:(3)指图像中出现的噪声只有两种灰度值,分别为a和b,出现的概率为Pa和Pb。Matlab中产生椒盐噪声的函数为“salt&pepper”,调用格式f=imnoise(,'salt&pepper',p1)通过imshow(f);axes();显示在axes2中。如图5所示。。又称正态噪声。其概率密度函数为(4)z表示灰度值,u表示噪声期望,为噪声的标准差。Matlab中产生高斯噪声的函数为“gaussian”,调用的格式为f=imnoise(,'gaussian',p1,p2);其中p1为高斯噪声的均值,p2为方差。通过imshow(f);axes();显示在axes2中。如图6所示图6原始图像