常用图像去噪比较与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用图像去噪方法的比较分析
梅娜娜
2091103
摘要
去噪处理作为图像预处理的一个重要环节,对图像处理的后续工作有着不可忽视的影响。
针对不同的噪声,处理方法也不同。
本文介绍了几种常见的图像噪声,并讨论了均值滤波、中值滤波及小波变换的典型运用,同时进行对比分析,最后得出这三种方法各自的自适应特点。
关键字:均值滤波;中值滤波;小波变换
一、引言
一幅图像的生成过程难免会伴随有噪声的产生。
噪声可以理解为“ 妨碍人们感觉器官对所接收的信源信息理解的因素”, 在理论上可定义为“不可预测,只能用概率统计方法来认识的随机误差”。
它对图像的输入、采集、处理的各个环节以及最终的输出结果都会产生一定的影响,特别是在图像的输入、采集过程中,若输入伴有较大噪声,必定会对其后的处理以及最终的处理效果造成不利。
因此,对图像进行去噪已成为图像处理中极其重要的内容。
二、图像系统中的常见噪声
一般在图像中常见的噪声有:
1、按噪声幅度分布形状而分,成高斯分布的称为高斯噪声,主要由阻性元器件内部产生。
2、按噪声和信号之间的关系分为加性噪声和乘性噪声。
加性噪声与输入图像信号无关,含噪图像可表示为),(),(),(y x n y x g y x f +=。
乘性噪声往往随图像信号的变化而变化其含噪图像可表示为),(),(),(),(y x g y x n y x g y x f +=
3、椒盐(Salt and pepper)噪声:主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生泊松噪声。
4、量化噪声:此类噪声与输入图像信号无关,是量化过程存在量化误差,再反映到接收端而产生,其大小显示出数字图像和原始图像差异。
本文为了分析不同去噪方法的应用范围,将原图像分别加入高斯噪声及椒盐噪声,运用Matalab 编程实现两种不同滤波方法的去噪结果,并据此进行比较得出相应结论。
下面几幅图为本文所选用的原图像、经过灰度变换后得到的图像、添加椒盐噪声和高斯噪声后的图像:
三.去噪的常用方法
1.均值滤波
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。
其基本原理是用均值替代原图像中的各个像素值,即对待处理的当前像素点),(y x ,选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点),(y x ,作为处理后图像在该点上的灰度),(y x g ,即∑∈=),(),(1
y x sf f y x g M ,其中,s 为模板,M 为该模板中包含当前像素在内的像素总个数。
如下即分别为用中值滤波对加有高斯噪声、椒盐噪声、的图像处理后的对比图:
2.中值滤波
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。
其实现原理如下:将某个像素邻域中的像素按灰度值进行排序,然后选择该序列的中间值作为输出的像素值,让周围像素灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点。
其具体的操作是:首先确定一个以某个像素为中心点的领域,一般为方形领域(如3 * 3、5 * 5的矩形领域),然后将领域中的各个像素的灰度值进行排序。
假设其排序为:n x x x x ≤≤≤...321,
为奇数,n n x x x x x Med Y n ),2/)1((},,,{321+==
为偶数,
n n x n x x x x x Med Y n )],2/)1(()2/([2/1},,,{321++⨯==取排好序的序列的中间值作Y 为中心点像素灰度的新值,这里的邻域通常被称为窗口。
当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。
如下即分别为用中值滤波对加有高斯噪声、椒盐噪声的图像处理后的对比图:
3 小波变换
小波变换是一种窗口大小固定但其形状可改变的时频局部化分析方法。
小波
变换利用非均匀的分辨率,即在低频段用高的频率分辨率和低的时间分辨率(宽的分析窗口);而在高频段利用低的频率分辨率和高的时间分辨率(窄的分析窗口),这样就能有效地从信号(如语言、图像等)中提取信息,较好地解决了时间和频率分辨率的矛盾。
对于一副图像,我们关心的是它的低频分量,因为低频分量是保持信号特性的重要部分,高频分量则仅仅起到提供信号细节的作用,而且噪声也大多属于高频信息。
这样,利用小波变换,噪声信息大多集中在次低频、次高频、以及高频子块中,特别是高频子块,几乎以噪声信息为主,为此,将高频子块置为零,对次低频和次高频子块进行一定的抑制,则可以达到一定的噪声去除效果。
如下即分别为用小波变换对加有高斯噪声、椒盐噪声的图像处理后的对比图:
四.结果对比与分析
通过Matlab编程实现对图像的加噪声过程及去噪处理过程,由于时间限制,笔者只对原图像加入两种常见的高斯噪声和椒盐噪声,然后运用三种去噪算法进行了处理
根据以上实验结果进行对比分析,可以得出以下结论:
(1)对于均值滤波, 由以上处理后的图像可以看到:均值滤波对高斯噪声的抑制是比较好的,处理后的图像边缘模糊较少。
但对椒盐噪声的影响不大,因为在削弱噪声的同时整幅图像内容总体也变得模糊,其噪声仍然存在。
(2)对于中值滤波,由图像处理的结果可以看出,它只影响了图像的基本信息,说明中值滤波对高斯噪声的抑制效果不明显。
这是因为高斯噪声使用随机大小的幅值污染所有的点,因此无论怎样进行数据选择,得到的始终还是被污染的值。
而由图还可以看出,中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。
由此看来,对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。
(3)对于小波变换,由图可以看出,小波变换对高斯噪声有比较好的抑制作用,而且,在去除噪声的同时可以较好地保持图像的细节。
由图可以看出,图像上的“椒盐”噪声很明显,说明小波变换对“椒盐”噪声的去除效果不大。
小波变换是一种时频局部化分析方法。
即随着分辨率的降低,噪声的小波变换值逐渐减小,信号占主导地位;而随着分辨率的提高,噪声的小波变换值增大,信号被噪声淹没。
所以,对小波变换,提高分辨率和有效去除噪声,两者不可兼得。
五.总结与体会
本文主要是选用课程中常用的三种去噪方法对两种图像噪声进行滤波处理,通过显示结果比较分析理解了:均值滤波对高斯噪声有较好的抑制作用,而对于椒盐噪声的处理中值滤波要略微有优势,小波变换得方法对分辨率低的高斯噪声去除有着不错的效果。
但由于初始阶段选用的是彩色图像,造成无法实现三维图像的滤波处理,只好进行灰度变换将其变成二维图像,此过程走了不少弯路,但我相信这次学习定会给以后带来更多的帮助。
六.参考文献
1.冈萨雷斯.数字图象处理(Matlab版)[M].北京:电子工业出版社,2005.
2 [美]Rafael C Gonzalez,Richard EWoods.数字图像处理[M].阮秋琦,阮宇智,等译.电子工业出版社,2003.
3.MA TLAB 6.5图形图像处理王家文曹宇国防工业出版社2004年5月
4. MA TLAB 图像处理与应用董长虹主编国防工业出版社2004年1月
5. 几种常见去噪算法的比较信息技术2007年第七期
6.数字图像椒盐噪声滤波研究哈尔滨理工大学张宇2009.3 TP391
附录:程序
以下是进行均值滤波的程序,原图像为12.bmp,存放在D盘下
b = imread('d:\12.bmp');
l=b(:,:,1)*0.299 + b(:,:,2)*0.587 + b(:,:,3)*0.114; imshow(b)
J = imnoise(l,'salt & pepper',0.02);
k = imnoise(l,'gaussian',0,0.005);
subplot(231),imshow(l)
title('原图像')
subplot(232),imshow(J)
title('添加椒盐噪声图像')
subplot(233),imshow(k)
title('添加高斯噪声图像')
K1= filter2(fspecial('average',3),J)/255;
subplot(234),imshow(K1)
title('3*3的椒盐噪声均值滤波')
K2= filter2(fspecial('average',7),k)/255;
subplot(235),imshow(K2)
title('3*3高斯噪声均值滤波')
以下是进行中值滤波的程序:
b = imread('d:\12.bmp');
l=b(:,:,1)*0.299 + b(:,:,2)*0.587 + b(:,:,3)*0.114; imshow(b)
J = imnoise(l,'salt & pepper',0.02);
k = imnoise(l,'gaussian',0,0.005);
K1 = medfilt2(J);
K2 = medfilt2(k);
subplot(121),imshow(K1)
title('椒盐噪声中值滤波处理')
subplot(122),imshow(K2)
title('高斯噪声中值滤波处理')
以下是进行小波变换去噪的程序:
load sinsin
b = imread('d:\12.bmp');
l=b(:,:,1)*0.299 + b(:,:,2)*0.587 + b(:,:,3)*0.114; J = imnoise(l,'salt & pepper',0.02);
k = imnoise(l,'gaussian',0,0.005);
[thr,sorh,keepapp] = ddencmp('den','wv',J);
xd = wdencmp('gbl',J,'sym4',2,thr,sorh,keepapp); subplot(221)
imshow(J,map)
title('加椒盐噪声')
subplot(222)
imshow(xd,map)
title('椒盐图像小波去噪')
[thr,sorh,keepapp] = ddencmp('den','wv',k);
xd = wdencmp('gbl',k,'sym4',2,thr,sorh,keepapp); subplot(223)
imshow(k,map)
title('加高斯噪声')
subplot(224)
imshow(xd,map)
title('高斯图像小波去噪')。