Skip to content

This Program is part of My Super-Resolution Project. It has implemented a Blind Deblurring Algorithm for Shift-Invariant-Deblurring

Notifications You must be signed in to change notification settings

huacheng/Shift-Invariant-Deblurring

Repository files navigation

This program is part of my Super-Resolution Project(SR.pdf)
Here I have implemented Shift-Invariant Deblurring

Creative Commons(CC) Hua Cheng 2011
    huacheng99@gmail.com
--------------------------------------------------------------------------------

The Program goes as follow:
--------------------------------------------------------------------------------

Running:
    deblur.m

    There are some test images at the img/ directory
--------------------------------------------------------------------------------

Documentation:
    I have the Chinese Documentation ONLY, and I not going to translate
    it into English,cause I have no time and it makes no sense. If you 
    are not familar with Chinese, you can read the Prona(17),Osher(18),
    Xu(16) and Shan(13),which are listed on my Reference of SR.pdf.
--------------------------------------------------------------------------------

Data Flow:
    The details of data flow of the deblur.m is written on my SR.pdf document
    in English, see the Algorithm 1 and the Algorithm 2 of SR.pdf.
    
    Here I am going to talk about How do I make use of Prona(17),Osher(18),
    Xu(16) and Shan(13)'s result.

    <<< First >>>:
        A blurred image I is processed Non-Linear Deffusion(NLD),which is 
    the work of Prona(17). The NLD will reduce the noise signals, but 
    protect the sharp edges. Because of the Shock Filter(Osher(18)) is sensitive
    to noise, that's why I use NLD before Shock Filter processing. You can 
    find the similar IDEA in the works of Cho(11),Xu(16) or some one else.
   
        I call this process a pre-preprocess.(^!^)

    <<< Second >>>:
        After the pre-preprocess, the image will be preprocessed by the Shock 
    Filter(Osher(18)), and then starting the First Phase Kernel Estimation of the 
    Two Phase Processes according to the idea of Xu(16).
    
        I call the First Phase Kernel Estimation as the Coarse Kernel Estimation,
    which is implemented as coarse_kernel_est.m function.Before the image 
    processed by coarse_kernel_est.m, it is processed by H_compute.m and M_compute.m
    function.

        On the Second Phase Kernel Estimation, also known as Iterative Surpport 
    Detection(ISD) Kernel Refinement.I have to say that I am failed to implement 
    the idea of ISD, when I was using the commented code of ISD part, I can't 
    get any improvement.So I comment the code in my deblur.m and havn't designed
    a refine_kernel_est.m function file.
    
        If any one who wants to try the ISD idea, you are free to use my half-baked code. 
    If you get any improvement based on my "code", it's my honor! And if you are 
    willing to email me your baked code, thank you very much. <^!^>

    <<< At Last >>>:
        The image was deconvoluted by Shan(13)'s Deconvolution Algorithm,known as 
    multi_deriv_deconv.m function in my deblur.m.
-------------------------------------------------------------------------------------

Good Luck, Hope you enjoy it!{^!^}

Any Question, Be free to contact me!  
    

About

This Program is part of My Super-Resolution Project. It has implemented a Blind Deblurring Algorithm for Shift-Invariant-Deblurring

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages