均值滤波和高斯滤波都可以处理高斯噪声,但是效果不一样;另外,根据椒盐噪声的特性,均值滤波和高斯滤波不能处理椒盐噪声图像,用实验证明。
%对同一幅(高斯和椒盐)噪声图像,分析比较均值滤波和高斯滤波的结果,
%均值滤波器模板大小(3*3,5*5,7*7,9*9)
Image=imread('D:\课程\数字图像处理\实验\实验二\lena.jpg');
Image=mat2gray(Image);
noiseI_sp=imnoise(Image,'salt & pepper',0.1);
noiseI_gaussian=imnoise(Image,'gaussian');
%对高斯噪声图像进行均值滤波和高斯滤波
avg_result1=imfilter(noiseI_gaussian,fspecial('average',3),'conv');
avg_result2=imfilter(noiseI_gaussian,fspecial('average',5),'conv');
avg_result3=imfilter(noiseI_gaussian,fspecial('average',7),'conv');
avg_result4=imfilter(noiseI_gaussian,fspecial('average',9),'conv');
gaussian_result1=imfilter(noiseI_gaussian,fspecial('gaussian',[3,3],0.6),'conv');
gaussian_result2=imfilter(noiseI_gaussian,fspecial('gaussian',[5,5],0.6),'conv');
gaussian_result3=imfilter(noiseI_gaussian,fspecial('gaussian',[7,7],0.6),'conv');
gaussian_result4=imfilter(noiseI_gaussian,fspecial('gaussian',[9,9],0.6),'conv');
figure;
subplot(2,5,1);imshow(Image);title('原图');
subplot(2,5,6);imshow(noiseI_gaussian);title('高斯噪声图像');
subplot(2,5,2);imshow(avg_result1);title('3x3均值滤波');
subplot(2,5,3);imshow(avg_result2);title('5x5均值滤波');
subplot(2,5,4);imshow(avg_result3);title('7x7均值滤波');
subplot(2,5,5);imshow(avg_result4);title('9x9均值滤波');
subplot(2,5,7);imshow(gaussian_result1);title('3x3高斯滤波');
subplot(2,5,8);imshow(gaussian_result2);title('5x5高斯滤波');
subplot(2,5,9);imshow(gaussian_result3);title('7x7高斯滤波');
subplot(2,5,10);imshow(gaussian_result4);title('9x9高斯滤波');
%对椒盐噪声图像进行均值滤波和高斯滤波
avg_result1=imfilter(noiseI_sp,fspecial('average',3),'conv');
avg_result2=imfilter(noiseI_sp,fspecial('average',5),'conv');
avg_result3=imfilter(noiseI_sp,fspecial('average',7),'conv');
avg_result4=imfilter(noiseI_sp,fspecial('average',9),'conv');
gaussian_result1=imfilter(noiseI_sp,fspecial('gaussian',[3,3],0.6),'conv');
gaussian_result2=imfilter(noiseI_sp,fspecial('gaussian',[5,5],0.6),'conv');
gaussian_result3=imfilter(noiseI_sp,fspecial('gaussian',[7,7],0.6),'conv');
gaussian_result4=imfilter(noiseI_sp,fspecial('gaussian',[9,9],0.6),'conv');
figure;
subplot(2,5,1);imshow(Image);title('原图');
subplot(2,5,6);imshow(noiseI_sp);title('椒盐噪声图像');
subplot(2,5,2);imshow(avg_result1);title('3x3均值滤波');
subplot(2,5,3);imshow(avg_result2);title('5x5均值滤波');
subplot(2,5,4);imshow(avg_result3);title('7x7均值滤波');
subplot(2,5,5);imshow(avg_result4);title('9x9均值滤波');
subplot(2,5,7);imshow(gaussian_result1);title('3x3高斯滤波');
subplot(2,5,8);imshow(gaussian_result2);title('5x5高斯滤波');
subplot(2,5,9);imshow(gaussian_result3);title('7x7高斯滤波');
subplot(2,5,10);imshow(gaussian_result4);title('9x9高斯滤波');
处理高斯噪声运行结果及分析
对原图添加高斯噪声得到高斯噪声图像,并对高斯噪声图像进行不同均值模板的均值滤波和不同高斯模板的高斯滤波,其运行结果如下:
从结果图片可以看到,均值滤波可以一定程度上解决高斯噪声的问题,但是随着模板的不断增大,结果图片也变得越来越模糊。对于高斯滤波来说,其解决高斯噪声问题的效果和均值滤波比起来还是有差距的(如下图所示),但是差距并不明显,所以重点放在模糊方面。随着高斯滤波模板的增大,高斯滤波的结果图片的模糊化并不明显,因为模板中的中心数值会比周围的数值大。一定程度上缓解了模糊的问题。
处理椒盐噪声运行结果及分析
对原图添加椒盐噪声得到椒盐噪声图像,并对椒盐噪声图像进行不同均值模板的均值滤波和不同高斯模板的高斯滤波,其运行结果如下:
我们都知道,均值滤波和高斯滤波是不适合用来处理椒盐噪声图像,结果也是如此,结果如下图所示,显然两种滤波器的在解决椒盐噪声方面显得有些乏力。在模糊方面的话,可以看出均值滤波的滤波图像比较模糊,高斯滤波的滤波图像和原图相比则没有多大变化。
且我们可以看到即便模板的大小增大,滤波图片也差不多,如下图所示: