泊松分布噪声图像

泊松分布的概率函数为:
泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生率。 泊松分布适合于描述单位时间内随机事件发生的次数。
clc,clear,close all
warning off
feature jit off
im = imread('coloredChips.png');
Z1 = imnoise_poission(im,size(im,1),size(im,2),0.3);
Z1 = im2uint8(Z1);   % 类型转换
figure('color',[1,1,1]),
im(:,:,1) = im(:,:,1) + Z1;  % R
im(:,:,2) = im(:,:,2) + Z1;  % G
im(:,:,3) = im(:,:,3) + Z1;  % B
subplot(121); imshow(im);title('加泊松分布噪声图像')
subplot(122); imhist(Z1); title('加泊松分布噪声图像直方图')


function R = imnoise_poission(im,M, N, lamda)
% input:
%       泊松poission分布,噪声的类型;
%       M,N:输出噪声图像矩阵的大小
%       a,b:各种噪声的分布参数
% output:
%       R: 输出的噪声图像矩阵,数据类型为double型
% 设定默认值
if nargin < 4
   lamda = 0.5;
end
   % 产生poission分布噪声
   for i = 1:M
       for j=1:N
           b=1;
           c = double( floor(im(i,j)/30)+1 );
           for k =1:c
               b=b*k;
           end
           R(i,j) = exp(-lamda).*lamda.^(c)./b;
       end
   end
end


你可能感兴趣的:(泊松分布噪声图像)