数字图像去噪典型算法及matlab实现(5页).doc

上传人:1595****071 文档编号:36766580 上传时间:2022-08-28 格式:DOC 页数:5 大小:131.50KB
返回 下载 相关 举报
数字图像去噪典型算法及matlab实现(5页).doc_第1页
第1页 / 共5页
数字图像去噪典型算法及matlab实现(5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《数字图像去噪典型算法及matlab实现(5页).doc》由会员分享,可在线阅读,更多相关《数字图像去噪典型算法及matlab实现(5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-数字图像去噪典型算法及matlab实现-第 5 页图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等;目前比较经典的图像去噪算法主要有以下三种:均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。中值滤波

2、:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。实验一:均值滤波对高斯噪声的效果代码I=imread(C:Do

3、cuments and SettingsAdministrator桌面1.gif);%读取图像subplot(2,3,1);imshow(I);title(原始图像);subplot(2,3,2); imshow(J);title(加入高斯噪声之后的图像);%采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波K1=filter2(fspecial(average,3),J)/255; %模板尺寸为3K2=filter2(fspecial(average,5),J)/255;% 模板尺寸为5K3=filter2(fspecial(average,7),J)/255; %模板尺寸

4、为7K4= filter2(fspecial(average,9),J)/255; %模板尺寸为9subplot(2,3,3);imshow(K1);title(改进后的图像1);subplot(2,3,4); imshow(K2);title(改进后的图像2);subplot(2,3,5);imshow(K3);title(改进后的图像3);subplot(2,3,6);imshow(K4);title(改进后的图像4);PS:filter2用法fspecial函数用于创建预定义的滤波算子,其语法格式为:h = fspecial(type)h = fspecial(type,paramete

5、rs)参数type制定算子类型,parameters指定相应的参数,具体格式为:type=average,为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为3,3。type= gaussian,为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为3,3,sigma表示滤波器的标准差,单位为像素,默认值为。type= laplacian,为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为0,1,默认值为。type= log,为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为3,3,sigma为滤波器的标准差,单位为像素,默认值为type= prewitt,为p

6、rewitt算子,用于边缘增强,无参数。type= sobel,为著名的sobel算子,用于边缘提取,无参数。type= unsharp,为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为0,1,默认值为。据我目测,使用均值滤波去噪(高斯噪声)效果选用的邻域半径越大效果越好,当然其代价也会更大,另外确切的去噪效果的好坏还需要用SNR等数据来度量。实验二:二维自适应维纳滤波对高斯噪声的滤除效果代码I=imread(C:Documents and SettingsAdministrator桌面1.gif); %读取图像K2=wiener2(J,3 3); %对加噪图像进行二维自适应维纳

7、滤波K2=wiener2(J,5 5); %对加噪图像进行二维自适应维纳滤波K2=wiener2(J,7 7); %对加噪图像进行二维自适应维纳滤波K2=wiener2(J,9 9); %对加噪图像进行二维自适应维纳滤波subplot(2,3,1);imshow(I);title(原始图像);subplot(2,3,2);imshow(J);title(加噪图像);subplot(2,3,3);imshow(K1);title(恢复图像1);subplot(2,3,4);imshow(K2);title(恢复图像2);subplot(2,3,5);imshow(K3);title(恢复图像3)

8、;subplot(2,3,6);imshow(K4);title(恢复图像3);PS:维纳滤波的两个函数wiener2与deconvwnr都能够完成维纳滤波的功能,deconvwnr强调图象复原方面,wiener2强调图象空间域锐化的作用,其中J=wiener2(I,m,n)返回有噪声图像I经过wierner(维纳)滤波后的图像,m,n指定滤波器窗口大小为m*n,默认值为3*3,J=wiener2(I,m,n,noise)指定噪声的功率,J,noise=wiener2(I,m,n)在图像滤波的同时,返回噪声功率的估计值noise。imnoise的语法格式为J = imnoise(I,type)

9、J = imnoise(I,type,parameters)其中J = imnoise(I,type)返回对原始图像I添加典型噪声的有噪图像J。参数type和parameters用于确定噪声的类型和相应的参数。实验三:对加入椒盐噪声的图像分别作均值、中值和维纳滤波代码I=imread(1.gif);J1=imnoise(I,gaussian,0,0.02);J2=imnoise(I,salt & pepper,0.02);J3=imnoise(I,speckle,0.02);运行效果见图2I=imread(C:Documents and SettingsAdministrator桌面1.gif

10、);J=imnoise(I,salt & pepper,0.02);%h=ones(3,3)/9;%产生3*3的全1数组%B=conv2(J,h);%卷积运算K2=filter2(fspecial(average,3),J)/255; %均值滤波模板尺寸为3K= medfilt2(J);%采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波K1=wiener2(J,3 3); %对加噪图像进行二维自适应维纳滤波 subplot(2,3,1);imshow(I);title(原始图像);subplot(2,3,2);imshow(J);title(加噪图像);subplot(2,3,3

11、);imshow(K2);title(均值滤波后的图像);subplot(2,3,4);imshow(K);title(中值滤波后的图像);subplot(2,3,5);imshow(K1);title(维纳滤波后的图像);通过图3我们也可得出结论,即中值滤波对于去除椒盐噪声效果最好,而维纳滤波去除效果则较差。中值滤波对于去除椒盐噪声效果明显,是因为椒盐噪声只在画面上的部分点随机出现,而中值滤波根据数据排序,将未被污染的点代替噪声点的值的概率较大,所以抑制效果好。对点、线和尖顶较多的图像不宜采用中值滤波,因为一些细节点可能被当成噪声点。实验四:分别使用二维统计滤波对椒盐噪声和高斯噪声进行滤波代

12、码I=imread(C:Documents and SettingsAdministrator桌面1.gif);J1=imnoise(I,salt & pepper,0.004);subplot(2,3,1);imshow(I);title(原始图像);subplot(2,3,2);imshow(J1);title(加椒盐噪声后的图像);J= ordfilt2(J1,5,ones(3,4);% 进行二维统计顺序过滤subplot(2,3,3);imshow(J);title(椒盐噪声滤波后的图像);J2=imnoise(I,gaussian,0,0.004);subplot(2,3,4);im

13、show(J2);title(加高斯噪声后的图像);J3= ordfilt2(J2,5,ones(3,4);subplot(2,3,5);imshow(J3);title(高斯噪声滤波后的图像);PS:MATLAB小波分析工具箱提供的用于图像去噪的函数有wrcoef2和wpdencmp,其语法格式分别为:X=wrcoef2(type,C,S,wname)xd,treed,datad,perf0,perfl2=wpdencmp(x,sorh,N,wname,crit,par,keepapp)其中,X=wrcoef2(type,C,S,wname)返回基于小波分解结构,的小波重构图像。参数“type”等于a表示重构近似系数;等于h表示重构水平细节系数;等于v表示重构垂直细节系数,等于d表示重构对角细节系数。xd,treed,datad,perf0,perfl2=wpdencmp(x,sorh,N,wname,crit,par,keepapp)是通过小波包定限(阈值化),返回输入信号或图像的除噪结果xd。输入参数中,treed,datad为xd的最佳小波包分解结构;perfl2和perf0表示L2复原和压缩百分数;perf12=100*(xd的小波包系数向量范数/X的小波包系数向量范数)2。Keepapp=1表示近似系数不能阈值化,否则可以阈值化;sorh=s为软阈值化,h为硬阈值化。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁