PyPoi is an image processing GUI program written in Python under Apache License 2.0. PyPoi stands for "Python Program for Poisson Image Editing".
It enables you to try the 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
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
mkvirtualenv pypoi
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 🍺.
cd pypoi
python gui.py
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.
- English
- Original theses (pdf)
- Simple introduction and examples
- Detailed introduction by Chris Tralie
- With many funny examples.
- Hot discussion including technical details at the bottom too.
- Also contains Java implementation. Please see the chapter below.
- Japanese
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.
- JavaScript by takuti
- 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.
PyPoi is provided under Apache License 2.0. Please refer to LICENSE
The core function is from parosky/poissonblending/