MATLAB: Noise removal from image

denoisingfilterimage processingImage Processing Toolbox

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?

Best Answer

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/