Gaussian Noise and mean filter:

4 Ansichten (letzte 30 Tage)
Steve
Steve am 29 Apr. 2012
Kommentiert: Image Analyst am 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 Kommentare
Khalid Asiri
Khalid Asiri am 8 Apr. 2021
add noise to it and then filter Using Gaussian filter and display all images.?
Image Analyst
Image Analyst am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 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 Kommentare
Image Analyst
Image Analyst am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2012a

Community Treasure Hunt

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

Start Hunting!

Translated by