生成matlab代码,要求将文件中图像添加不同标准差和极性概率的高斯噪声,胡椒噪声和盐粒噪声并输出结果图
时间: 2024-02-12 22:03:27 浏览: 63
图像加高斯和椒盐噪声的MATLAB程序
3星 · 编辑精心推荐
以下是一个可以生成不同类型的噪声并输出结果图的Matlab代码:
```matlab
% 读入图像
img = imread('lena.png');
% 添加高斯噪声
sigma = 10; % 标准差
gaussian_noise = sigma * randn(size(img)); % 生成高斯噪声
noisy_img = uint8(double(img) + gaussian_noise); % 添加噪声
figure; imshow(noisy_img); title('高斯噪声');
% 添加椒盐噪声
p = 0.1; % 极性概率
salt_pepper_noise = zeros(size(img)); % 生成椒盐噪声
salt_pepper_noise(rand(size(img)) < p/2) = 255; % 盐粒噪声
salt_pepper_noise(rand(size(img)) > 1 - p/2) = 0; % 胡椒噪声
noisy_img = img; % 初始化带噪声图像
noisy_img(salt_pepper_noise == 255) = 255; % 添加盐粒噪声
noisy_img(salt_pepper_noise == 0) = 0; % 添加胡椒噪声
figure; imshow(noisy_img); title('椒盐噪声');
% 添加胡椒噪声
density = 0.1; % 盐粒密度
salt_noise = zeros(size(img)); % 生成盐粒噪声
salt_noise(rand(size(img)) < density) = 255; % 添加盐粒噪声
noisy_img = img + uint8(salt_noise); % 添加噪声
figure; imshow(noisy_img); title('盐粒噪声');
```
这段代码可以生成三种不同类型的噪声并输出结果图,你可以根据需要修改参数来生成不同类型和强度的噪声。注意,这里的代码只是一个示例,实际使用时需要根据具体情况进行修改和优化。
阅读全文