imagematlabimage-processingimage-enhancement

How to undo average filtering in Matlab


If I apply an average filter in Matlab using fspecial function('average', [9 9], for example. What is the best method to try and fix the blur image?

The practical side of my question is that if we have the same kind of blur, as with average filtering, how we can get the best results trying unblur?


Solution

  • You might want to try the following built-in MATLAB functions and decide which one you like best:

    PSF = fspecial('disk', 15);
    
    
    deconvwnr(yourImage, PSF, estimated_noise)
    deconvreg(yourImage, PSF)
    deconvblind(yourImage, PSF, 100)
    deconvlucy(yourImage, PSF, 100))
    

    if you are generally interested in the theory behind these image manipulations, i recommend you read this