Add Poisson Noise on image with double precision (shot noise)
15 views (last 30 days)
Show older comments
I am trying to add poisson noise to an image with doulbe precision. I do:
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 see that both `I` and `J` are pretty the same. What I am doing wrong? Please note I do know that imnoise scales the value by 1e-12 but sincerly I don't understand how to use it correctly.
I was thinking I could use `poissrnd()` to add noise manually to bypass `imnoise`
Regarding the scaling i was using a 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');
But it returns an image almost completly black.
0 Comments
Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!