椒盐噪声均值滤波
时间: 2023-08-01 14:13:14 浏览: 89
椒盐噪声是指图像中的像素值受到随机噪声影响,它的特点是像素值变成了最大值或最小值,常用的去噪方法之一是均值滤波。MATLAB中可以使用`imfilter`函数实现对图像的均值滤波处理。
具体步骤如下:
1. 读入原始图像
```matlab
img = imread('lena.jpg');
```
2. 加入椒盐噪声
```matlab
density = 0.05; % 椒盐噪声的密度
noise = rand(size(img)); % 产生随机噪声
img_noisy = img; % 初始化加噪后的图像
img_noisy(noise <= density/2) = 0; % 盐噪声
img_noisy(noise >= 1 - density/2) = 255; % 椒噪声
```
3. 对图像进行均值滤波
```matlab
img_mean = imfilter(img_noisy, fspecial('average', [3 3])); % 对图像进行3x3的均值滤波
```
4. 显示结果
```matlab
imshow(img), title('原始图像');
figure, imshow(img_noisy), title('加入椒盐噪声的图像');
figure, imshow(img_mean), title('均值滤波后的图像');
```
其中,`imfilter`函数的第一个参数是需要进行滤波的图像,第二个参数是滤波器的大小和类型,这里选择了一个3x3的均值滤波器,类型为`'average'`。
注意:由于噪声是随机的,因此每次运行程序生成的噪声都不一样,所以每次运行程序的结果可能会有所不同。
阅读全文