I add additive '0' mean Gaussian noise to original image using
n=0+(sd)*randn(size(original image)) and i apply noise estimation algorithm to noisy image and i found additive noise.
If i needs to simulate noise estimation algorithm using multiplicative noise,how i generate noisy image with multiplicative noise? (only using 'randn' function, not using imnoise)

 채택된 답변

Image Analyst
Image Analyst 2013년 3월 17일
편집: Image Analyst 2013년 3월 17일

0 개 추천

noiseOnlyImage = sd * randn(size(noiseFreeImage));
noisyImage = noiseFreeImage .* noiseOnlyImage;
% Cast to uint8 if you want.
imshow(noisyImage, []); % Use [] if it's a double image.

댓글 수: 8

vipul utsav
vipul utsav 2013년 3월 17일
is it called speckle noise?
It might be for radar but I'm nto sure if the PDF of radar noise is Gaussian. I know that the noise PDF of laser speckle is not Gaussian - it's an exponential decay, so no, your randn() noise does not work to simulate laser speckle.
vipul utsav
vipul utsav 2013년 3월 17일
noisyImage = noiseFreeImage .* noiseOnlyImage;
so above image is affected by multiplicative noise ,not a speckle
I didn't say that. Speckle can be a multiplicative noise. But speckle has a specific probability distribution function, which, for laser speckle, is not Gaussian.
The probability density function for laser speckle is
pdf = exp(-v/sigmaSquared) / sigmaSquared
from section 5.9 in book by Roy Frieden "Probability, Statistical Optics, and Data Testing". v is the intensity of the light. So you can see it's an exponential decay, not a Guassian because it depends on v not v^2.
what does sd mean? I see that it is not an inbuilt function. can someone explain this plss
sd is a variable that represents the standard deviation. It's something you assign a desired value to.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

질문:

2013년 3월 17일

댓글:

2018년 5월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by