Clear Filters
Clear Filters

Gaussian Noise and mean filter:

8 views (last 30 days)
Steve
Steve on 29 Apr 2012
Commented: Image Analyst on 8 Apr 2021
Hello Dear Experts,
If I am given a picture with pre-added Gaussian noise, and I know the mean and the var parameters. I need to use a best mask to enhance the image by removing the noise.
I know it should be a matrix 3x3 or 5x5 divided by the sum of the elements.
How should I solve such a problem?
  2 Comments
Khalid Asiri
Khalid Asiri on 8 Apr 2021
add noise to it and then filter Using Gaussian filter and display all images.?
Image Analyst
Image Analyst on 8 Apr 2021
@Khalid Asiri, why would adding noise to the already noisy images be a good step towards denoising the image? Anyway, Steve probably won't answer since it's been 9 years since this was posted.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 29 Apr 2012
That would not be the best method. In fact, it's often one of the worst. Nonetheless I gave some homework hints to Thomas who asked the same thing yesterday in http://www.mathworks.com/matlabcentral/answers/36869-i-need-help-with-matlab-assignment
noiseReducedImage = conv2(greenChannel, kernel);
kernel could be an N by N box with all ones (hint: use the ones() function). Make sure the kernel elements sum to 1 or else you're going to change the mean brightness of the image (so divide by N^2). Convolution is linear filtering. You could also use imfilter to do almost the same thing. imfilter is supposedly a little faster (according to the developer) and it doesn't flip the kernel like convolution does, though that doesn't make any difference if your kernel is symmetric.
If this is not homework and you need more guidance, let me know. The whole thing is just one line of code though and I said how to do it above.
  3 Comments
Image Analyst
Image Analyst on 29 Apr 2012
Read my second paragraph where I say to do this:
N = 9; % or whatever odd number you want.
kernel = ones(N)/N^2;
noiseReducedImage = conv2(grayScaleImage, kernel, 'same');
The above 3 lines could be combined into one line. Then display it:
imshow(noiseReducedImage, []);
Steve
Steve on 29 Apr 2012
Dear Image Analyst, I am sorry I don't know your name, thank you very much!
You really helping me, thanks a lot for your time and patience.
Let me invite you to my blog Useful Info Sharing where you will find a lot of useful info I am publishing.

Sign in to comment.

More Answers (0)

Products


Release

R2012a

Community Treasure Hunt

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

Start Hunting!