双精度图像泊松噪声(散粒噪声)

时间:2013-02-27 17:02:54

标签: matlab noise poisson

我正在尝试为具有doulbe精度的图像添加泊松噪声。我这样做:

I = im2double(imread('mypic.tif')); % mypic.tif is already in the range 0...1 in double precision
J = imnoise(I,'poisson');
imshow(I),figure,imshow(J);

我发现IJ都非常相似。我做错了什么? 请注意我知道imnoise将值缩小了1e-12但是我真的不明白如何正确使用它。

我原以为我可以使用poissrnd()手动添加噪音以绕过imnoise

关于缩放我使用code like this

maxValue = max(I(:));

% This is necessary based on imnoise behaviour
I = I * 10e-12;

% Generate noisy image and scale back to the original intensities. 
J = maxValue * imnoise(I, 'poisson'); 

但它返回的图像几乎完全是黑色的。

2 个答案:

答案 0 :(得分:2)

正如链接所说,这是一个很大的问题。

尝试使用较小的比例:

I = im2double(imread('eight.tif')); %Matlab default image
scale = 1e9;
J = scale * imnoise(I/scale, 'poisson'); 
close all; imshow(J);

输入:

enter image description here

输出(1e9):

enter image description here

输出(1e10):

enter image description here

答案 1 :(得分:0)

查看维基百科上的“大数定律”。另外,请查看下面的博客,非常详细地分析了使用泊松选项的 MATLAB imnoise:

https://ruiminpan.wordpress.com/2016/03/10/the-curious-case-of-poisson-noise-and-matlab-imnoise-command/