我想將泊松噪聲添加到具有杜爾布精度的圖像中。我做的:Image雙精度圖像中的泊松噪聲(散粒噪聲)
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);
我看到無論I
和J
是相當一致。我做錯了什麼?
請注意,我確實知道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');
但它返回的圖像幾乎完全地黑。
請記住,絕大多數的圖像的每個通道的8位深度(紅色,藍色,綠色,灰色等),這意味着256個不同的值,即使映射到'0 .. 1'。爲了在像素上有所作爲,噪聲閾值必須> 1/256〜4e-3。如果你的泊松源真的被縮放到1e-12,那就是*方法*低於閾值... – twalberg 2013-02-27 17:41:04