Blind-Deblurring System

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 lib subdirectory, and the source code of it is also provided under the libsrc subdirectory. If you recreate the static library, you have to execute make command on the libsrc subdirectory.

Vagrant box


How to use

[1] Create Vagrantfile

Create a Vargantfile as shown below:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config| = "s-hironobu/centos7-blind-deblur" "private_network", ip: "" :forwarded_port, guest: 5901, host: 5901

[2] Start vm box

Run vagrant up.

$ vagrant up

[3] Access VM via vnc client

If you use OSX, run the following command:

$ open vnc://localhost:5901

Password is vagrant.

Figure 1:

If you use other OS, run your vnc-client.

[4] Open terminal and Run

Open a terminal and change directory to blind-deblurring. Then, run blindDeblur.

[vagrant@localhost ~]$ cd blind-deblurring
[vagrant@localhost blind-deblurring]$  ./blindDeblur

Push Deblur button, and then adjust the sharpness of the deblurred image.


Original blurred image alt text

deblurring… alt text

Deblurred image alt text