采用顺序统计滤波器对图像进行滤波

1.  实验内容

(1)生成各种程度的含噪图像。

(2)采用均值滤波对含噪图像滤波。

(3)采用最大滤波器对含噪图像滤波。

(4)采用最小滤波器对含噪图像滤波。

2.  实验原理

自然图像中往往含有大量噪声,这些噪声可能服从一定的统计规律,因此可以采用顺序 统计方法,对这些噪声加以剔除。

3.  实验方法及程序

对一幅灰度图像添加噪声并滤波。其参考程序设计如下。

%1. 生成含噪图像
img = rgb2gray(imread('lena.bmp'));
figure; imshow(img);
img =double(imnoise(img,'salt & pepper',0.1));
figure,imshow(img,[]);

%2. 采用均值滤波
N=5;                       %滤波模板大小
h=fspecial('average',N);
I=filter2(h,img);
figure,imshow(I,[])

%3. 中值滤波
I=medfilt2(img,[N N]); figure,imshow(I,[])

%4. 最大值滤波
I=ordfilt2(img,N*N,true(N)); figure,imshow(I,[])

%5.最小值滤波
I=ordfilt2(img,1,true(N)); figure,imshow(I,[])

完善代码如下:

% 1. 生成含噪图像
img = im2gray(imread('cherry.bmp'));
figure; 
imshow(img);
title('原始图像'); % 添加标题
img = double(imnoise(img,'salt & pepper', 0.1));
figure;
imshow(img, []);
title('添加椒盐噪声后的图像'); % 添加标题

% 2. 采用均值滤波
N = 5; % 滤波模板大小
h = fspecial('average', N);
I = filter2(h, img);
figure;
imshow(I, []);
title('均值滤波后的图像'); % 添加标题

% 3. 中值滤波
I = medfilt2(img, [N N]);
figure;
imshow(I, []);
title('中值滤波后的图像'); % 添加标题

% 4. 最大值滤波
I = ordfilt2(img, N * N, true(N));
figure;
imshow(I, []);
title('最大值滤波后的图像'); % 添加标题

% 5. 最小值滤波
I = ordfilt2(img, 1, true(N));
figure;
imshow(I, []);
title('最小值滤波后的图像'); % 添加标题

运行结果如下:

  • 原始图像(Figure 1):图像清晰,能看到樱桃的细节、轮廓以及容器的纹理等,没有噪声干扰 ,是后续处理的基础图像。
  • 添加椒盐噪声后的图像(Figure 2):图像中出现了大量黑白相间的噪点,这些噪点随机分布在图像上,破坏了原始图像的清晰度,模拟了实际中可能遇到的噪声污染情况。
  • 均值滤波后的图像(Figure 3):椒盐噪声得到了一定程度的抑制,图像整体变得平滑。但由于均值滤波是对邻域像素求平均,图像细节有一定程度的模糊,比如樱桃的边缘和纹理不如原始图像清晰。
  • 中值滤波后的图像(Figure 4):椒盐噪声去除效果较好,相较于均值滤波,图像的细节保留得更完整,樱桃的轮廓和纹理更清晰,这是因为中值滤波用邻域像素的中值替代中心像素值,能有效剔除椒盐噪声这类脉冲噪声 。
  • 最大值滤波后的图像(Figure 5):图像中白色噪点被突出,整体图像偏亮。最大值滤波选取邻域内的最大像素值,对于椒盐噪声中的白色噪点会起到放大作用,所以图像看起来白色噪点更明显,不适合用于去除椒盐噪声。
  • 最小值滤波后的图像(Figure 6):图像中黑色噪点被突出,整体图像偏暗。最小值滤波选取邻域内的最小像素值,对于椒盐噪声中的黑色噪点会起到放大作用,不适合用于去除椒盐噪声 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值