数字图像去噪典型算法仿真与分析

一首简单的歌
717次浏览
2020年03月26日 12:35
最佳经验
本文由作者推荐
椒盐

数字图像去噪典型算法仿真与分析 个人信息********* 摘要:图像去噪是数字图像处理中的重要环节和步骤。本文首先介绍了常见的图像噪声;然后,在介绍图像去噪的基本方法和原理的基础上,讨论了均值滤波、中值滤波和维纳滤波三种典型的图像去噪方法;最后,对包含有高斯噪声和椒盐 等噪声的图像进行去噪,并对其去噪效果进行了仿真和分析比较,得出了三种方法各自的适用性特点。 关键词:图像去噪;均值滤波;中值滤波;维纳滤波 Simulation and Analysis of Image De-noising Methods in Digital Image Name:*** (个人信息****) Abstract: Image denoising is one of the most important parts and steps of image processing. Firstly, the paper introduces the common image noise. Then, based on the principle and methods of eliminating image noise, it discusses mean filtering, median filtering, and Wiener filtering which are typical image donoising. Finally, it uses these methods to eliminate image noise which contains Gaussian noise and salt&pepper noise. And through comparing and analyzing the effect of these methods, it concludes the applicability of each method in different application. Key words: image denoising; mean filtering; median filtering; Wiener filtering 0 引言 数字图像是现代人们获取信息的主要来源。由于成像系统、传输介质和记录设备等的不完善,数字图像在其形成、传输记录过程中往往会收到多种噪声的污染。一般来说,现实中的图像都是带噪图像。噪声使图像变得模糊,甚至淹没图

像特征,给后面图像区域分割、分析判断等工作带来了困难。因此,在边缘检测、图像分割、特征提取、模式识别等高层次处理之前,选用适当的方法尽量地去除噪声干扰是一个非常重要的环节和步骤,也一直是图像处理研究领域进行的主要课题之一。 在图像去噪的研究方面,国内外的一些学者提出了大量的算法,如一些典型的图像去噪算法,均值滤波、中值滤波、维纳滤波、小波变换等[1-5]。近年来,一些改进的、新型的算法也被许多学者提出。文[6]提出了一种改进的均值滤波算法,该算法针对均值滤波在抑制噪声的过程中会损失图像的边缘等细节信息问题,在计算局部窗口内中心像素灰度均值时,既考虑了窗口内各像素与中心像素间的灰度差异,又顾及了窗口内各像素与中心像素间的距离;但是容易导致图像细节因过度平滑而变得模糊。对于复杂的噪声图像,文[7]提出了一种基于同性质点个数的噪声点检测算法,这是一种改进的中值滤波算法,该算法对于脉冲噪声来说不仅在滤除噪声方便有较好的效果,保持图像细节信息方面也取得了一定的成就;但对未知噪声类型的图像进行滤除时其效果就不明显。针对经典维纳滤波器存在的不足,文[8]提出了一种新的自适应维纳滤波器,该滤波器能够根据不同的图像特性在给定的多个模板之间自适应的选择模板,使得滤波效果更加理想;但是对于不太复杂的图像,新的自适应维纳滤波和普通维纳滤波相比,改善空间不是很大,效果不是很明显。 综上,现有的图像去噪方法大致可以分为两类:一类是空间域方法,另一类是频率域方法。本文主要围绕着空间域的去噪方法,分析几种典型的空间域去噪方法,研究总结各算法的优缺点、适用性及处理效率等,并通过MATLAB进行仿真和分析比较。 1 噪声 噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种因素。噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”[9]。 1.1 图像系统中的常见噪声 依据噪声产生的原因,将经常影响图像质量的噪声源分为三类:阻性元器件内部产生的高斯噪声;光电转换过程中的泊松噪声(椒盐噪声);感光过程中产

生的颗粒噪声。根据噪声和信号的关系也可以将其分为两种形式:一类是加性噪声,另一类是乘性噪声。 1.2 图像去噪的意义 噪声在图像处理中是一个非常重要的问题,它对图像的输入、采集、处理的各个环节以及最终的输出结果都会产生一定的影响。特别是在图像的输入、采集过程中,噪声是个十分关键的问题,若输入伴有较大噪,必然影响之后的处理以及最终的处理效果。因此,任何一个良好的图像处理系统,无论是模拟处理还是计算机处理无不把减少最前一级的噪声作为主攻目标。去噪处理已成为图像处理中极其重要的环节和步骤。 2 图像去噪典型算法 现有的图像去噪方法大致可以划分为两类:一类是空间域方法,主要采用各种图像平滑模板对图像进行卷积处理,以达到压抑或消除噪声的目的;另一类是频率域方法,主要通过对图像进行变换后,选用适当的频率带通滤波器进行滤波处理,再经过反变换得到去噪后图像。本文的工作主要围绕着空间域方法,对三种典型的空间域去噪方法,均值滤波、中值滤波和维纳滤波,进行讨论、仿真与分析。 2.1 均值滤波 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法[1-4]。均值滤波的基本思想是用领域几个像素值的均值来代替原图像中的各个像素值,其领域的选取通常为像素的4领域和8领域。 假定有一幅由L*H个像素组成的图像f(x,y),令Sxy表示中心在(x,y)点,尺寸为M*N的滑动模板窗口。均值滤波过程就是计算模板中所有像素的均值g(x,y),由公式1给出;然后将g(x,y)代替该点(x,y)原来的像素值f(x,y),得到去噪后图像F(x,y),如公式2所示。 1g(x,y)M*Nf(x,y)Sxyf(x,y) (1) f(x,y)g(x,y) (2) F(x,y)f(x,y)

这个操作可以用其系数1/M*N的卷积模板来实现。由上式可知,经过均值处理后,噪声的均值不变,方差变小,说明噪声的强度减弱了,即噪声得到了抑制。当然,这种方法在平滑噪声的同时,也会模糊信号的细节和边缘,即在清除噪声的同时也会对图像的高频细节成分造成破坏和损失,使图像模糊。 2.2 中值滤波 中值滤波是一种非线性信号处理方法,它的基本原理是把数字图像或数字序列中的一点的值用该点的一个邻域中的各点值的中值代替。通俗地讲中值滤波就是用一个活动窗口沿图象移动,窗口中心位置的象素灰度用窗口内所有象素灰度的中值来代替。 其算法步骤为:首先确定一个以某个像素(x,y)为中心点的邻域,常用的有方形、十字形和圆形等邻域;然后将邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口,这个窗口可以是3*3、5*5等;当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理[1-4]。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序然后选择该组的中间值作为输出像素值。 即用该像素的相邻像素的灰度中值来代替该像素的值,由公式3给出。 f(x,y)median(f(x,y)) (3) (x,y)Sxy领域的大小决定在多少个数值中求中值,窗口的形状决定在什么样的几何空间中去元素计算中值。窗口的大小和形状有时对滤波效果影响很大。 2.3 维纳滤波 维纳(Wiener)滤波器是一种自适应滤波器,它根据图像的局部方差调整滤波器的输出,它的最终目标是使恢复图像g(x,y)与原始图像f(x,y)的均方差最小。所谓自适应滤波,就是利用潜意识可以获得的滤波器参数等结果,自动的调节现时刻的滤波器参数,以适应信号的噪声未知的或随时间变换的统计特性。 Wiener算法[1] [5]首先估计出像素的局部矩阵均值和方差:

=1f(x,y)MN(x,y)Sxy(x,y)Sxy12MN (4) f2(x,y)2然后,对于每一个像素利用Wiener滤波器估计出其像素值: 22g(x,y)(f(x,y)) (5) 2这里,v2是图像中噪声的方差。维纳滤波去噪方法根据图像的局部方差来调整滤波器的输出,当局部方差大时,滤波器的平滑效果较弱;当局部方差小时,滤波器平滑效果较强。它比线性滤波器具有更好的选择性,可以更好地保存图像的边缘和高频细节信息。 3 仿真结果及分析 利用MATLAB图像处理工具箱的函数可以非常方便地实现以上三种滤波方法。但是,为了加深对这三种滤波方法的理解和运用,本文采用了自编的MATLAB程序来进行仿真,其中Wiener滤波器采用MATLAB自带函数。 为了比较以上几种不同图像去噪的方法的优劣,本文对同一幅图像利用MATLAB工具箱人为添加不同的图像噪声;然后分别采用均值滤波、中值滤波、维纳滤波等平滑处理办法对图像进行去噪复原,得到了丰富的实验结果。限于篇幅,本文只给出了对添加有均值为零的高斯噪声和椒盐噪声的Leda图像进行三种滤波算法处理的结果,如图1、图2、图3所示。 图1 Leda原始图像和添加噪声图像

图2 Leda添加高斯噪声的仿真结果 图3 Leda添加椒盐噪声的仿真结果 通过对实验结果进行分析比较,从主观上可以得出以下结论: 1) 对于均值滤波,由图2可以看出,图像中噪声含量很少,说明均值滤波对均值为零的高斯噪声有比较好的抑制作用。由图3可以看出均值滤波对椒盐噪声的去除效果不明显,噪声虽然得到了一定的抑制,但是图像边缘变得比较模糊, 而且随着滤波器尺寸的增加,图像的细节锐化程度相应降低。因为均值滤波只是将某点出现的噪声强度,让周围的数据平均分担了,所以得到的结果是噪声幅值减小,但是噪声点的颗粒面积同时变大,而椒盐噪声均值不为零。 2) 对于中值滤波,由图2可以看出,中值滤波对高斯噪声的抑制效果不明显,因为高斯噪声使用随机大小的幅值污染所有的点,因此无论怎样进行数据选择得到的始终还是被污染的值。由图3可以看出中值滤波对去除椒盐噪声效果明显,因为椒盐噪声只在画面中的部分点上随机出现,根据中值滤波原理可知,通过数据排序的方法将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。中值滤波与均值滤波相比,对画面清晰度的保持效果明显,缺点是因为涉及大量排序运算,运算速度较慢,对图像的实时处理有影响, 对一些细节多,特别是点、线、尖顶细节较多的图像不宜采用中值滤波的方法,

因为细节点有可能被当成了噪声点。 3) 对于维纳滤波,由图(1-3)的对比可以看出,维纳滤波器去除高斯白噪声的效果较好,去除椒盐噪声的效果较差,从图中可以清晰的看到一些明显的噪声点。维纳滤波能较好保存图像的边缘和高频细节信息,但去噪后的图像仍略显模糊。 为了更客观地说明各算法的滤波性能,采用峰值信噪比PSNR(Peak Signal Noise Ratio)作为客观评价的尺度,PSNR值越大,表示恢复图像与原始图像越接近,PSNR定义为: PSNR=10lgMN2552[f(x,y)g(x,y)]m1n1MN2 (6) 其中,M,N表示图像的尺寸,f(x,y)表示原始图像的灰度值,g(x,y)表示滤波后的图像灰度值。各算法对噪声图像处理后的PSNR如表1所示: 表1 Leda峰值信噪比测试结果 单位:dB PSNR 噪声类型 高斯噪声 椒盐噪声 均值滤波 25.2973 29.9331 中值滤波 23.8802 33.1386 维纳滤波 24.1660 25.5388 由表中PSNR数据也可以得出,均值滤波对高斯噪声抑制效果较好,中值滤波对椒盐噪声有明显的抑制作用,维纳滤波对高斯噪声有较好的抑制作用,而对椒盐噪声的抑制作用比较差。 4 结束语 本文只研究了空间域的几种典型的去噪方法。本文在MATLAB环境下,结合不同的噪声类型,分析讨论了均值滤波、中值滤波和维纳滤波三种典型的图像去噪方法原理和应用范围,以及它们在去除几种典型噪声方面的性能优劣和视觉效果对比,得出了结论。 抑制噪声和保持图像中的细节往往是一对矛盾,也是图像处理中尚未很好解决的问题。在实际应用中,处理噪声图像前应明确以下两点:1)图像受到何种类

型的噪声干扰;2)受噪声干扰的程度。然后选择适当的去除噪声技术,减少图像去噪过程的盲目性。如何将各种算法进行改进,得到一种新的兼有细节保护和噪声抑制的优良特性的算法,使其去噪效果更为理想,应用更为广泛,这是图像处理工作的目标,也是今后的研究方向。 参考文献: [1] 赛地瓦尔地·买买提. 基于Matlab的几种图像去噪方法研究[J]. 河南科学,2013,31(9):1387-1390 [2] 王文庆,晏婷. 基于空间域的图像去噪方法比较研究[J]. 西安邮电学院学报,2012,17(2):75-79 [3] 胡蕾,张伟,覃庆炎. 几种去噪算法的应用分析[J]. 信息技术,2007(7):81-83. [4] 盛仲飙. 基于Matlab的图像去噪算法研究[J]. 河南科学,2011(10):1218-1220. [5] 肖锋. 维纳滤波在退化图像恢复中的应用研究[J]. 电子设计工程,2011(4):173-175 [6] 朱市虎,游春霞. 一种改进的均值滤波算法[J]. 计算机应用与软件,2013,30(12):97-99,116 [7] 刘祝华,邹道文. 一种新的基于噪声点检测的脉冲噪声去噪算法[J]. 计算机工程与应用,2005,41(15):41-43 [8] 李东兵,等. 一种新的自适应维纳滤波算法[J]. 上海大学学报(自然科学版),2012,18(6):555-560 [9] 何东健. 数字图像处理[M]. 西安:西安电子科技大学出版社,2003:64-65.

椒盐