AWGN for a grayscale image
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello everyone,
I need to add AWGN to a grayscale image for the purpose of denoising. Till now I was using "imnoise" to add the gaussian noise but somewhere I doubt or I am confused whether I am adding correct noise or not.
Is this the correct method to add AWGN in an image? If not, please tell me how to add this kind of noise.
Thanking you in advance
Vivek Singh Bhadouria
India
댓글 수: 0
채택된 답변
Rick Rosson
2011년 8월 31일
Yes, imnoise is the right function to use.
Why are you concerned that it might not be the correct function to use?
Rick
추가 답변 (1개)
Wayne King
2011년 9월 22일
Hi, The answer is both.
The Gaussian noise is additive if you use the 'Gaussian' option.
J = imnoise(I,'gaussian',M,V)
The Gaussian noise is multiplicative if you use 'speckle'
J = imnoise(I,'speckle',V)
Hope that helps, Wayne
댓글 수: 4
Wayne King
2011년 9월 27일
Sorry Vivek, you're right. I misread the help. The multiplicative option does use rand()
Image Analyst
2011년 9월 27일
I'm not sure why they call it "speckle." At least it appears to have nothing to do with speckle in the laser imaging sense. My textbook on statistical optics says "Under the assumptions of the given statistical model, the speckle intensity follows a negative exponential law, and speckle phase follows a uniform law." The law (equation) it gives for laser speckle intensity distribution is p(i) = sigma^(-2) * exp(-i / sigma^2). This is definitely different than you'd get from MATLAB which says "adds multiplicative noise to the image I, using the equation J = I+n*I, where n is uniformly distributed random noise with mean 0 and variance v." So MATLAB's speckle noise is not laser speckle noise - it uses some other definition of speckle.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!