This is a blind deblurring system which is based on this paper: "Blind deconvolution using alternating maximum a posteriori estimation with heavy-tailed priors".
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
- VirtualBox
- vnc client
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
Run vagrant up
.
$ vagrant up
If you use OSX, run the following command:
$ open vnc://localhost:5901
Password is vagrant
.
If you use other OS, run your vnc-client.
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.