PyPoi is an image processing GUI program written in Python. It stands for "Python Program for Poisson Image Editing"
It enable you to try Poisson Image Editing method interactively. Some examples are already ready for you, but you can also load arbitrary images and try it.
Well... no worries! If you're using Windows or Mac OS, you simply need to download files and run it to try this program.
- Go to the release page
- From the latest version, download zip file (recommended) or executable file.
- If you download zip file, extract the file in any folder, and double click
Run from repository (for developer)
You need to have Python2.7 and pip installed before starting it. It is recommended to use virtualenv. Please refer to this guide to know how to install/use it if you're not familiar with it.
First of all, clone the repository
git clone https://github.com/fbessho/PyPoi.git cd PyPoi
Then create a new virtualenv and install required packages.
Install required packages
pip install -r requirements.txt
If you get error in pyamg installation, please install numpy first by the following command, and try the install command above again.
pip install $(grep numpy requirements.txt) # or # pip install numpy==1.8.1 # or # pip install numpy
Alright, now you're ready to start. Try the following command.
An old-fashioned tkinter GUI should appear in front of you
What is Poisson Image Editing?
Poisson Image Editing is a technique to blend two images seamlessly.
This method is firstly introduced by Patrick Pérez and others in ACM SIGGRAPH 2003. The original theses is available here (pdf).
There are many resources about Poisson Image Editing and I'll leave explanations to them.
Implementation in other languages
There have already been several implementation in other language.
- Java by Chris Tralie
- Python by parosky
- As of v0.1.0, core calculation is the copy of this implementation.
- MATLAB and C by Toshihiko Yamasaki (pdf)
Please raise an issue from github issue page.
I know there are a lot of space to improve. Main enhancements are listed in the issue tracker, for example,
It's more than welcome if you can pick up one/some of them.
The core function is from parosky/poissonblending/