Gaussian Noise and mean filter:
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Steve
el 29 de Abr. de 2012
Comentada: Image Analyst
el 8 de Abr. de 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 comentarios
Khalid Asiri
el 8 de Abr. de 2021
add noise to it and then filter Using Gaussian filter and display all images.?
Image Analyst
el 8 de Abr. de 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.
Respuesta aceptada
Image Analyst
el 29 de Abr. de 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 comentarios
Image Analyst
el 29 de Abr. de 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, []);
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!