图像添加椒盐噪声matlab
时间: 2024-11-27 20:24:01 浏览: 0
MATLAB实现向图像中添加高斯噪声和椒盐噪声
5星 · 资源好评率100%
图像添加椒盐噪声(Salt and Pepper Noise)在MATLAB中通常通过随机选择像素并将其设置为最大值(白色椒盐)或最小值(黑色椒盐)来实现。以下是一个简单的步骤和示例代码:
```matlab
% 加载一张图片
img = imread('your_image.jpg'); % 替换 'your_image.jpg' 为你需要处理的图像文件名
% 定义噪声比例 (0-1之间)
noise_ratio = 0.05; % 假设5%的噪声比例
% 图像尺寸
[row, col] = size(img);
% 创建椒盐噪声矩阵
salt_mask = rand(row, col) < noise_ratio;
pepper_mask = rand(row, col) > 1 - noise_ratio;
% 结合两个噪声矩阵
noise_mask = salt_mask | pepper_mask;
% 将噪声应用到图像上
noisy_img = img .* ~noise_mask + ones(size(noise_mask)) * max(img(:)); % 白色椒盐
or
noisy_img = img .* noise_mask + min(img(:)) .* ones(size(noise_mask)); % 黑色椒盐
% 显示原图和添加噪声后的图像
figure, imshow(img), title('Original Image');
figure, imshow(noisy_img), title('Noisy Image with Salt & Pepper Noise');
```
在这个例子中,`imread`函数用于读取图像,`rand`生成随机数,`size`获取图像尺寸,`|`表示按位或运算用于合并两个噪声矩阵,`.*`和`+`则是元素乘法和加法运算。
阅读全文