matlab里,如何给图像添加高斯、椒盐和乘性噪声
时间: 2024-02-19 16:04:01 浏览: 197
在Matlab中,可以使用imnoise函数来添加高斯、椒盐和乘性噪声。该函数支持多种噪声类型和参数设置,以下是几个示例:
1. 添加高斯噪声
```matlab
% 读入原图像
img = imread('image.jpg');
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01);
% 显示原图像和添加噪声后的图像
subplot(1,2,1);
imshow(img);
title('原图像');
subplot(1,2,2);
imshow(noisy_img);
title('添加高斯噪声后的图像');
```
上述代码中,使用imread函数读入原图像,然后使用imnoise函数添加高斯噪声,其中0表示噪声均值,0.01表示噪声方差。最后,使用subplot和imshow函数将原图像和添加噪声后的图像显示出来。
2. 添加椒盐噪声
```matlab
% 读入原图像
img = imread('image.jpg');
% 添加椒盐噪声
noisy_img = imnoise(img, 'salt & pepper', 0.05);
% 显示原图像和添加噪声后的图像
subplot(1,2,1);
imshow(img);
title('原图像');
subplot(1,2,2);
imshow(noisy_img);
title('添加椒盐噪声后的图像');
```
上述代码中,使用imread函数读入原图像,然后使用imnoise函数添加椒盐噪声,其中0.05表示噪声密度。最后,使用subplot和imshow函数将原图像和添加噪声后的图像显示出来。
3. 添加乘性噪声
```matlab
% 读入原图像
img = imread('image.jpg');
% 添加乘性噪声
noisy_img = imnoise(img, 'speckle', 0.02);
% 显示原图像和添加噪声后的图像
subplot(1,2,1);
imshow(img);
title('原图像');
subplot(1,2,2);
imshow(noisy_img);
title('添加乘性噪声后的图像');
```
上述代码中,使用imread函数读入原图像,然后使用imnoise函数添加乘性噪声,其中0.02表示噪声方差。最后,使用subplot和imshow函数将原图像和添加噪声后的图像显示出来。
阅读全文