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.
You can install PyPoi through pip. Alternatively binary files are available for Windows or Mac OS, you simply need to download files and run it to try this program.
pip install pypoi
Once you install PyPoi, you can run
pypoi command to open the GUI.
For non-developer or Windows user.
- 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
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
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.
PyPoi is provided under Apache License 2.0. Please refer to LICENSE
The core function is from parosky/poissonblending/