Quick simple question, mean filter?
1 view (last 30 days)
Show older comments
Hello Dear Experts,
Given a convolution mask J = ones(N)/N^2 and image I (with Gaussian noise miu = 0, sigma = alpha) of size MxM M>>N. I am filtering I using the J mask.
How the noise is reduced then? NewNoise = OldNoise/alpha, what is alpha?
For example, I is size NxN with noise, J = ones(5)/25.
Thanks a lot in advance!
0 Comments
Accepted Answer
Image Analyst
on 14 Jul 2012
Don't use bad names like I and J. Pick descriptive names that aren't easily confused with 1 (one) or the imaginary variable. So, taking that advice:
windowWidth = 5;
kernel = ones(windowWidth) / windowWidth ^2;
outputImage = conv2(inputImage, kernel);
3 Comments
Ryan
on 14 Jul 2012
signalImage1 = double(noiseFreeImage);
noiseOnlyImage = double(noisyImage) - signalImage1;
SNR = mean2(signalImage1 ./ noiseOnlyImage );
% SNR = Signal to Noise Ratio
Image Analyst
on 14 Jul 2012
I'm not sure that you can get the sigma of the additive Gaussian noise unless you have the original noise free image, or at least make some assumptions on it. There are a variety of noise reduction algorithms. I suppose you could apply a good one (of which an averaging filter is not) and then subtract the noise-reduced version from the noisy version to get an estimate of the noise only. Then take the histogram (which should look like a Gaussian if it's additive Gaussian noise) to get an estimate of the sigma.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!