Python package for alpha matting.
PyMatting: A Python Library for Alpha Matting
We introduce the PyMatting package for Python which implements various methods to solve the alpha matting problem.
- Website and Documentation: https://pymatting.github.io/
- Benchmarks: https://pymatting.github.io/benchmark.html
Given an input image and a hand-drawn trimap (top row), alpha matting estimates the alpha channel of a foreground object which can then be composed onto a different background (bottom row).
- Alpha matting implementations for:
- Foreground estimation implementations for:
- Closed Form Foreground Estimation 
- Multilevel Foreground Estimation (CPU, CUDA and OpenCL)
- Fast multithreaded KNN search
- Preconditioners to accelerate the convergence rate of conjugate gradient descent:
- The incomplete thresholded Cholesky decomposition (Incomplete is part of the name. The implementation is quite complete.)
- The V-Cycle Geometric Multigrid preconditioner
- Readable code leveraging NumPy, SciPy and Numba
Additional requirements for GPU support
- cupy-cuda90>=6.5.0 or similar
Requirements to run the tests
Installation with PyPI
pip3 install pymatting
Installation from Source
git clone https://github.com/pymatting/pymatting cd pymatting pip3 install .
from pymatting import cutout cutout( # input image path "data/lemur.png", # input trimap path "data/lemur_trimap.png", # output cutout path "lemur_cutout.png")
Run the tests from the main directory:
python3 tests/download_images.py pip3 install -r requirements_tests.txt pytest
Currently 89% of the code is covered by tests.
- Thomas Germer
- Tobias Uelwer
- Stefan Conrad
- Stefan Harmeling
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
 Anat Levin, Dani Lischinski, and Yair Weiss. A closed-form solution to natural image matting. IEEE transactions on pattern analysis and machine intelligence, 30(2):228–242, 2007.
 Kaiming He, Jian Sun, and Xiaoou Tang. Fast matting using large kernel matting laplacian matrices. In 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2165–2172. IEEE, 2010.
 Qifeng Chen, Dingzeyu Li, and Chi-Keung Tang. Knn matting. IEEE transactions on pattern analysis and machine intelligence, 35(9):2175–2188, 2013.
 Yuanjie Zheng and Chandra Kambhamettu. Learning based digital matting. In 2009 IEEE 12th international conference on computer vision, 889–896. IEEE, 2009.
 Leo Grady, Thomas Schiwietz, Shmuel Aharon, and Rüdiger Westermann. Random walks for interactive alpha-matting. In Proceedings of VIIP, volume 2005, 423–429. 2005.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size PyMatting-1.0.6-py3-none-any.whl (40.1 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size PyMatting-1.0.6.tar.gz (25.6 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for PyMatting-1.0.6-py3-none-any.whl