Noise removal from image

8 views (last 30 days)
Sa rah
Sa rah on 26 Oct 2015
Answered: Image Analyst on 28 Oct 2015
Hello, How can know the type of noise in an image? And which type of filter can I use to remove the noise from this image? Finally, how can I be sure that the noise is really removed after applying the filter?
  4 Comments
Image Analyst
Image Analyst on 27 Oct 2015
That's what JPEG compression uses. So you're in luck - you can just use imwrite().
The problem is that low pass filtering to remove high frequencies removed both the noise and the details that are not noise. That's why spatial domain noise reduction methods usually work better, at least the more sophisticated ones do.
Sa rah
Sa rah on 27 Oct 2015
Then, can I use bilateral filtering, for example, since it can effectively remove both impulsive noise and additive noise simultaneously? Or there is a better one that I use?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 28 Oct 2015
Last I heard, the best noise reduction filter is BM3D. That's what everyone seems to be trying to beat in papers published these days. I haven't seen anything beat it across the board. There are other good ones like non-local means, UINTA, K-LLD, K-SVD, etc. The bilateral filter is probably better than simple filters like median, averaging, etc. but the aforementioned ones are better, though a lot more complicated. Non-local means is in the File Exchange - maybe some of the others are too. MATLAB code for BM3D is on the link I gave you: http://www.cs.tut.fi/~foi/GCF-BM3D/

More Answers (0)

Community Treasure Hunt

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

Start Hunting!