泊松噪声图像的matlab代码

  • 第一种方法为某张图片添加泊松噪声,调用matlab中的imoise函数.但是利用imnoise添加的泊松噪声,其泊松噪声的均值默认为0;如图所示为添加噪声的直方图。并且此时默认泊松噪声为一种加性噪声。实际上光电子噪声中的泊松噪声是由于光电子计数不足而引起的。其最本质的表现是单个像素的光子个数值很少,从而造成了图片的噪声现象。

J = imnoise(I,'poisson'),I为uint8格式

  • 接下来,我们介绍第二种方法。这是产生泊松噪声图片的正确方法。

% mx = 10; % Maximum intensity of the true image
% mn = 0.9; % Minimum intensity of the true image
function [y,img]= poisson_count( x, mn, mx )
if nargin == 3
    x = x - min( x(:) );
  x = x ./ max(x(:));%先把图片中的像素归一化
  img = mn + x * (mx-mn);
else
  img = x;
end
y = poissrnd( img );%产生均值为img的泊松噪声数

  • 代码产生的泊松噪声图片的特点是每个像素点的光子数目少,小于25.符合泊松噪声图片的特点。

猜你喜欢

转载自blog.csdn.net/qq_27273607/article/details/79778979