MATLAB: How to remove noise without effecting the image

denoisingimage enhancementImage Processing Toolboxnoise

hi,
I have been trying to do image enhancement, but I found the noise is there any way to remove such kind of noise and what to call this kind of Noise given in following image
I tried median filter but it blur this image, kind of lost some details in image by adding blurring effect. Thanks for your Suggestions

Best Answer

What kind of noise is it? All noise removal methods will affect the image - they have to otherwise the image won't change and get noise removed. Why do you need that noise removed? It doesn't look that bad - bad enough to prevent you from doing whatever else you need to do with the image.
There are many types of noise removal and many are best suited for a particular kind of noise. If you have isolated salt and pepper noise, I have a modified median filter that does a great job on that. There are other denoising methods with different properties and effect. It seems BM3D is the current state of the art that people are trying to beat. There are others that are almost as good and perhaps even better for certain types of images. They range from the simple mean and median to slightly more complicated sigma filters and knn filters to more sophisticated and complicated mean shift, non-local means, BM3D, K-LLD, UINTA, K-SVD, plus more being invented every month. Look up some of those. I know there are some non-local means programs in the File Exchange. Maybe you can start with those.