At the end of 2014, I was shocked at the progress of blind deblurring algorithm, so I studied the recent researches in this field.
I read many papers and made a system based on this paper: “Blind deconvolution using alternating maximum a posteriori estimation with heavy-tailed priors”.
The source code of the system I made is uploaded on my GitHub repository, and also I provide a vagrant-box that contains both binary and source code, so you can easily try it.
The most important remaining work is to reduce ringing artifacts. Honestly speaking, I had been trying it until this summer when I had time, but I could not do it. I welcome the challengers of this task :-)
In addition, the license of this system is GPL2.
This system runs on only Linux, and requires the following libraries:
This system is composed of a deblurring engine and a GUI sub-system.
The engine is provided as a static library under the
and the source code of it is also provided under the
If you recreate the static library, you have to execute
make command on the libsrc subdirectory.
How to use
 Create Vagrantfile
Create a Vargantfile as shown below:
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "s-hironobu/centos7-blind-deblur" config.vm.network "private_network", ip: "192.168.33.95" config.vm.network :forwarded_port, guest: 5901, host: 5901 end
 Start vm box
$ vagrant up
 Access VM via vnc client
If you use OSX, run the following command:
$ open vnc://localhost:5901
If you use other OS, run your vnc-client.
 Open terminal and Run
Open a terminal and change directory to
[vagrant@localhost ~]$ cd blind-deblurring [vagrant@localhost blind-deblurring]$ ./blindDeblur
Deblur button, and then adjust the sharpness of the deblurred image.
Original blurred image