数字图像处理-图像去噪方法

数字图像处理-图像去噪方法
数字图像处理-图像去噪方法

图像去噪方法

一、引言

图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信

息进行理解或分析的各种元素。噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。我们平常使用的滤波方法一般有均值滤波、中值滤波和小波滤波,他们分别对某种噪声的滤除有较好的效果。对图像进行去噪已成为图像处理中极其重要的内容。

二、常见的噪声

1、高斯噪声:主要有阻性元器件内部产生。

2、椒盐噪声:主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生泊松噪声。

3、量化噪声:此类噪声与输入图像信号无关,是量化过程存在量化误差,再反映到接收端而产生,其大小显示出数字图像和原始图像差异。

一般数字图像系统中的常见噪声主要有高斯噪声和椒盐噪声等,减少噪声的方法可以在图像空间域或在图像频率域完成。在空间域对图像处理主要有均值滤波算法和中值滤波算法.图像频率域去噪方法

是对图像进行某种变换,将图像从空间域转换到频率域,对频率域中的变换系数进行处理,再进行反变换将图像从频率域转换到空间域来达到去除图像噪声的目的。将图像从空间转换到变换域的变换方法很多,常用的有傅立叶变换、小波变换等。

三、去噪常用的方法

1、均值滤波

均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。其基本原理是用均值替代原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后

∑f?sf(x,y),其中,s为模图像在该点上的灰度g(x,y),即g(x,y)=1

M

板,M为该模板中包含当前像素在内的像素总个数。这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。

(均值滤波对加高斯、椒盐噪声图像处理后的对比图)

2、中值滤波

中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。其实现原理如下:将某个像素邻域中的像素按灰度值进行排序,然后选择该序列的中间值作为输出的像素值,让周围像素

灰度值的差比较大的像素改取与周围的像素值接近的值,从而可以消除孤立的噪声点。利用中值滤波算法可以很好地对图像进行平滑处理。这种算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。

(中值滤波对加高斯、椒盐噪声图像处理后的对比图)

3、小波变换

小波变换是一种窗口大小固定但其形状可改变的时频局部化分析方法。小波变换利用非均匀的分辨率,即在低频段用高的频率分辨率和低的时间分辨率(宽的分析窗口);而在高频段利用低的频率分辨率和高的时间分辨率(窄的分析窗口),这样就能有效地从信号(如语言、图像等)中提取信息,较好地解决了时间和频率分辨率的矛盾。对于一副图像,我们关心的是它的低频分量,因为低频分量是保持信号特性的重要部分,高频分量则仅仅起到提供信号细节的作用,而且噪声也大多属于高频信息。这样,利用小波变换,噪声信息大多集中在次低频、次高频、以及高频子块中,特别是高频子块,几乎以噪声信息为主,为此,将高频子块置为零,对次低频和次高频子块进行一定的抑制,则可以达到一定的噪声去除效果。

(小波变换对加高斯、椒盐噪声图像处理后的对比图)

四、结果分析

1、对于均值滤波:均值滤波对高斯噪声的抑制是比较好的,处理后的图像边缘模糊较少。但对椒盐噪声的影响不大,因为在削弱噪声的同时整幅图像内容总体也变得模糊,其噪声仍然存在。

2、对于中值滤波:由图像处理的结果可以看出,它只影响了图像的基本信息,说明中值滤波对高斯噪声的抑制效果不明显。这是因为高斯噪声使用随机大小的幅值污染所有的点,因此无论怎样进行数据选择,得到的始终还是被污染的值。而由图还可以看出,中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。由此看来,对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。

3、对于小波变换:由图可以看出,小波变换对高斯噪声有比较好的抑制作用,而且,在去除噪声的同时可以较好地保持图像的细节。由图可以看出,图像上的“椒盐”噪声很明显,说明小波变换对“椒盐”噪声的去除效果不大。小波变换是一种时频局部化分析方法。即随着分辨率的降低,噪声的小波变换值逐渐减小,信号占主导地位;而随着分辨率的提高,噪声的小波变换值增大,信号被噪声淹没。所以,对小波变换,提高分辨率和有效去除噪声,两者不可兼得。

五、总结体会

该报告是基于第一次报告中提出的在图像处理中噪声污染的问

题,分析三种去噪方法对两种图像噪声的滤波处理。分析结果可以得到:均值滤波是典型的线性滤波,对高斯噪声抑制是比较好的;中值滤波是常用的非线性滤波方法,对椒盐噪声特别有效;小波变换对分辨率低的高斯噪声去除有不错的效果。

六、参考文献

冈萨雷斯.数字图象处理(第二版)[M].北京:电子工业出版社,2007.

基于Matlab的数字图像典型去噪算法.齐齐哈尔大学.齐齐哈尔大学.TP391.72

附件程序

均值滤波程序:

clc;closeall;clear all;

image=imread('cameraman.tif');

[m,n]=size(image);

J=imnoise(image,'gaussian',0,0.005); %加高斯噪声

J=double(J);

figure(1),imagesc(J),colormap(gray)

title('加高斯噪声图像')

image1=J;

H=1/2*[0 1/4 0;

1/4 1 1/4;

01/4 0];

fori=2:m-1

forj=2:n-1

temp=J(i-1:i+1,j-1:j+1);

image1(i,j)=sum(sum(H.*temp));

end

end

figure(2),imagesc(image1),colormap(gray)

title('3x3高斯噪声均值滤波')

K=imnoise(image,'salt & pepper',0.02); %加椒盐噪声

K=double(K);

figure(3),imagesc(K),colormap(gray)

title('加椒盐噪声图像')

image2=K;

fori=2:m-1

for j=2:n-1

temp=K(i-1:i+1,j-1:j+1);

image2(i,j)=sum(sum(H.*temp));

end

end

figure(4),imagesc(image2),colormap(gray)

title('3x3椒盐噪声均值滤波')

中值滤波程序:

clc;close all;clear all;

image=imread('cameraman.tif');

[m,n]=size(image);

J=imnoise(image,'gaussian',0,0.005);%加高斯噪声figure(1),imagesc(J),colormap(gray)

title('加高斯噪声图像')

image1=J;

fori=2:m-1

for j=2:n-1

temp=J(i-1:i+1,j-1:j+1);

temp=sort(temp(:));

image1(i,j)=temp(5);

end

end

figure(2),imagesc(image1),colormap(gray)

title('3x3高斯噪声中值滤波')

K=imnoise(image,'salt & pepper',0.02); %加椒盐噪声figure(3),imagesc(K),colormap(gray)

title('加椒盐噪声图像')

image2=K;

for i=2:m-1

forj=2:n-1

temp=K(i-1:i+1,j-1:j+1);

temp=sort(temp(:));

image2(i,j)=temp(5);

end

end

figure(4),imagesc( image2),colormap(gray)

title('3x3椒盐噪声均值滤波')

小波变换程序:

load sinsin

b=imread('cameraman.tif');

J=imnoise(b,'salt & pepper',0.02);

[thr,sorh,keepapp]=ddencmp('den','wv',J);

xd=wdencmp('gbl',J,'sym4',2,thr,sorh,keepapp); subplot(221),imshow(J)

title('加椒盐噪声图像')

subplot(222),imshow(xd,[0,255])

title('椒盐噪声小波去噪')

K=imnoise(b,'gaussian',0,0.005);

[thr,sorh,keepapp]=ddencmp('den','wv',K);

xd=wdencmp('gbl',K,'sym4',2,thr,sorh,keepapp); subplot(223),imshow(K)

title('加高斯噪声图像')

subplot(224),imshow(xd,[0,255])

title('高斯噪声小波去噪')

相关主题
相关文档
最新文档