MATLAB Answers

Image denoising and contrast enhance!

22 views (last 30 days)
xsfeng
xsfeng on 4 Mar 2015
Answered: xsfeng on 5 Mar 2015
Hey,
Does anybody has an idea how to denoising this image and enhance the contrast? The random distribution stripes and the low contrast really a pain.
I knew there is a way to filtering in the frequency domain, could anyone help me out here? Thanks very much
Joanna

  0 Comments

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 4 Mar 2015
Joanna, how about the guided filter?
originalImage = imread('C:\Users\Joanna\Documents\Temporary\Image01.jpg');
smoothedImage = imguidedfilter(originalImage, 'NeighborhoodSize',[19 19]);
finalImage = imadjust(smoothedImage);
imshowpair(originalImage, finalImage, 'montage');
axis on;

  2 Comments

Image Analyst
Image Analyst on 5 Mar 2015
Joanna's "Answer" moved here since it's a reply to me and not an "Answer" to the original question:
Dear Image Analyst!
Thanks so much for your prompt answer!
The first impression of the corrected image really looks good! Is the imguidedfilter() function using the neighboring guided the smoothing to remove the high frequency noise?
And another things the corrected image looks unsharp, is that possible to add the edge preserving smoothing to filter again?
Cheers,
Joanna
Image Analyst
Image Analyst on 5 Mar 2015
Joanna, if you look at some of the edges you'll see that they are preserved, like the edge of the big blobs in the lower corners. If you look at the fine low contrast edges, like the faint scratches, then they are blurred/removed but the more contrasty ones are kept. There are some parameters to the guidedfilter but I haven't played around with it much.
There are other edge preserving filters such as median but even that will cause some blurring. If you want other filters, there are things like mean shift filter that tend to keep, or even sharpen, edges.
I think there may be others. I think generally the best state of the art noise reduction filter is BM3D. At least that's the one everybody compares their new algorithms to. It's rarely beaten in terms of performance.
Prior to that it seemed like the best one was "non-local means". There is MATLAB code for both of those.

Sign in to comment.


xsfeng
xsfeng on 5 Mar 2015
Hey Image Analyst,
I have already tried the median filter. It doesn't fits so well since the general features are all smoothed by the filtering.
I will try those you suggested and post later!
Cheers,
Joanna

  0 Comments

Sign in to comment.

Sign in to answer this question.