Gaussian Noise and mean filter:
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
am 8 Apr. 2021
add noise to it and then filter Using Gaussian filter and display all images.?
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.
Akzeptierte Antwort
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
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, []);
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!