Borrar filtros
Borrar filtros

Gaussian Noise and mean filter:

8 visualizaciones (últimos 30 días)
Steve
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
Khalid Asiri el 8 de Abr. de 2021
add noise to it and then filter Using Gaussian filter and display all images.?
Image Analyst
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.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
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
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, []);
Steve
Steve el 29 de Abr. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2012a

Community Treasure Hunt

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

Start Hunting!

Translated by