画像にポアソンノイズを2倍の精度で追加しようとしています。そうです:
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
スケーリングに関して、私は次のようなコードを使用していました:
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');
ただし、ほぼ完全に黒の画像が返されます。