资源简介

使用MATLAB对一幅图像添加椒盐噪声或者高斯噪声。不调用现成函数,只用到rand产生随机数。代码非常精简,使用方便,适合新手参考。核心代码如下: % ***添加椒盐噪声*** K1 = 0.2;%多少被污染 K2 = 0.5;%胡椒噪声比例 I1 = rand(m, n)<K1; I2 = rand(m, n)<K2; Image(I1&I2) = 0; Image(I1&~I2) = 255; % ***添加高斯噪声:Box-Muller方法*** AVG = 0; %平均值 STD = 0.05; %标准差 U1 = rand(m, n); U2 = rand(m, n); X = STD*sqrt(-2*log(U1)).*cos(2*pi*U2)+AVG; Image = double(Image)/255 + X; Image = uint8(255*Image);

资源截图

代码片段和文件信息

clear all;clc;
%读进图像
[filename pathname] = uigetfile({‘*.jpg‘; ‘*.bmp‘; ‘*.gif‘} ‘选择图片‘);
if filename == 0
    return;
end
Image = imread([pathname filename]);
[m n z] = size(Image);
if z>1
    Image = rgb2gray(Image);
end
%显示原图
figure(2);
subplot(1 2 1);
imshow(Image);
title(‘原图‘);

% ***添加高斯噪声:Box-Muller方法***
AVG = 0; %平均值
STD = 0.05; %标准差
U1 = rand(m n);
U2 = rand(m n);
X = STD*sqrt(-2*log(U1)).*cos(2*pi*U2)+AVG;
Image = double(Image)/255 + X;
Image = uint8(255*Image);

%显示加噪图像
subplot(1 2 2);
imshow(Image);
title(‘加噪声‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         543  2014-05-17 15:22  AddPepperSaltNoise.m
     文件         607  2014-05-17 15:23  AddGaussianNoise.m

评论

共有 条评论