matlab添加高斯噪声再进行中值滤波,用matlab,选一幅图像,加入椒盐噪声后,对其进行中值滤波和均值滤波,对比其效果。...
时间: 2023-11-02 20:09:35 浏览: 65
您可以按照以下步骤进行:
1. 读取图像并添加高斯噪声
```matlab
img = imread('test.jpg'); % 读取图像
noise_img = imnoise(img, 'gaussian', 0, 0.01); % 添加高斯噪声,0.01是方差
```
2. 添加椒盐噪声
```matlab
noise_img = imnoise(noise_img, 'salt & pepper', 0.05); % 添加椒盐噪声,0.05是噪声密度
```
3. 进行中值滤波和均值滤波
```matlab
med_img = medfilt2(noise_img, [3 3]); % 中值滤波,[3 3]是滤波器大小
avg_img = filter2(fspecial('average', [3 3]), noise_img); % 均值滤波,[3 3]是滤波器大小
```
4. 对比效果
```matlab
figure; % 创建新窗口
subplot(1,3,1); imshow(img); title('原图');
subplot(1,3,2); imshow(noise_img); title('添加噪声后的图像');
subplot(1,3,3); imshow(med_img); title('中值滤波后的图像');
figure;
subplot(1,3,1); imshow(img); title('原图');
subplot(1,3,2); imshow(noise_img); title('添加噪声后的图像');
subplot(1,3,3); imshow(avg_img); title('均值滤波后的图像');
```
您可以调整噪声方差和密度以及滤波器大小,比较不同条件下的效果。
阅读全文