图像的退化往往伴随着噪声,几种常见的噪声的概率密度函数,probability density function,简称PDF。
malab代码如下:
clear;
x=-4:0.1:4;
subplot(3,2,1);
y1=normpdf(x,0,1);
plot(x,y1);
title('高斯噪声');
subplot(3,2,2);
y2=unifpdf(x,-3,3);
plot(x,y2);
title('均匀噪声');
subplot(3,2,3);
y3=zeros(size(x));
y3(1)=0.5;
y3(end)=0.5;
plot(x,y3);
title('椒盐噪声');
subplot(3,2,4);
y4=raylpdf(x,2);
plot(x,y4);
title('瑞利噪声');
subplot(3,2,5);
y5=exppdf(x,1);
plot(x,y5);
title('指数噪声');
subplot(3,2,6);
y6=gampdf(x,2,4);
plot(x,y6);
title('伽马噪声');
绘图结果
为图像添加上述噪声的matlab代码如下
clc;
clear;
f=imread('C:\Program Files\MATLAB\R2013a\bin\work\图像复原\Penguins.jpg');
subplot(2,4,1);
imshow(f);
title('彩色图像');
image_gray=rgb2gray(f);%得到灰度图像
%figure;
subplot(2,4,2);
imshow(image_gray);%显示灰度图像
title('灰度图像');
%添加高斯噪声
[M,N]=size(image_gray);
R=normrnd(3,12,M,N);%得到高斯分布的随机数
image_noise=double(image_gray)+R;%添加噪声后的图像
image_noise=uint8(round(image_noise));
subplot(2,4,3);
imshow(image_noise);%显示灰度图像
title('含高斯噪声图像');
%添加均匀噪声
R=unifrnd(-20,23,M,N);%得到均匀分布的随机数
image_noise=double(image_gray)+R;%添加噪声后的图像
image_noise=uint8(round(image_noise));
subplot(2,4,4);
imshow(image_noise);%显示灰度图像
title('含均匀噪声图像');
%添加椒盐噪声
image_noise=imnoise(image_gray,'salt & pepper',0.02);%添加噪声后的图像
subplot(2,4,5);
imshow(image_noise);%显示灰度图像
title('含椒盐噪声图像');
%添加瑞利噪声
R=raylrnd(30,M,N);%得到瑞利分布的随机数
image_noise=double(image_gray)+R;%添加噪声后的图像
image_noise=uint8(round(image_noise));
subplot(2,4,6);
imshow(image_noise);%显示灰度图像
title('含瑞利噪声图像');
%添加指数噪声
R=exprnd(14,M,N);%得到指数分布的随机数
image_noise=double(image_gray)+R;%添加噪声后的图像
image_noise=uint8(round(image_noise));
subplot(2,4,7);
imshow(image_noise);%显示灰度图像
title('含指数噪声图像');
%添加伽马噪声
R=gamrnd(3,10,M,N);%得到伽马分布的随机数
image_noise=double(image_gray)+R;%添加噪声后的图像
image_noise=uint8(round(image_noise));
subplot(2,4,8);
imshow(image_noise);%显示灰度图像
title('含伽马噪声图像');
效果如下图