資源簡介
使用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
評論
共有 條評論