Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/akiomik/pilgram
A python library for instagram filters
https://github.com/akiomik/pilgram
blend-modes css-filters data-augmentation image-augmentation image-blending image-processing instagram instagram-filters pillow
Last synced: 4 days ago
JSON representation
A python library for instagram filters
- Host: GitHub
- URL: https://github.com/akiomik/pilgram
- Owner: akiomik
- License: apache-2.0
- Created: 2019-02-06T03:10:44.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-12-03T05:29:35.000Z (23 days ago)
- Last Synced: 2024-12-14T17:40:29.621Z (11 days ago)
- Topics: blend-modes, css-filters, data-augmentation, image-augmentation, image-blending, image-processing, instagram, instagram-filters, pillow
- Language: Jupyter Notebook
- Homepage:
- Size: 3.58 MB
- Stars: 118
- Watchers: 5
- Forks: 16
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# pilgram
[![DOI](https://zenodo.org/badge/169348812.svg)](https://zenodo.org/badge/latestdoi/169348812)
[![PyPI](https://img.shields.io/pypi/v/pilgram.svg)](https://python.org/pypi/pilgram)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pilgram.svg)](https://python.org/pypi/pilgram)
[![Python CI](https://github.com/akiomik/pilgram/actions/workflows/ci.yml/badge.svg)](https://github.com/akiomik/pilgram/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/akiomik/pilgram/branch/master/graph/badge.svg)](https://codecov.io/gh/akiomik/pilgram)A python library for instagram filters.
![screenshot](screenshots/screenshot.png)
The filter implementations are inspired by [CSSgram](https://una.im/CSSgram/).
## Requirements
- Python >= 3.4
- [Pillow](https://pillow.readthedocs.io/en/stable/) or [pillow-simd](https://github.com/uploadcare/pillow-simd)
- [NumPy](https://numpy.org)## Install
```sh
pip install pillow>=4.1.0 # or pip install pillow-simd
pip install numpy
pip install pilgram
```## Usage
Available instagram filters on `pilgram`:
- `_1977`
- `aden`
- `brannan`
- `brooklyn`
- `clarendon`
- `earlybird`
- `gingham`
- `hudson`
- `inkwell`
- `kelvin`
- `lark`
- `lofi`
- `maven`
- `mayfair`
- `moon`
- `nashville`
- `perpetua`
- `reyes`
- `rise`
- `slumber`
- `stinson`
- `toaster`
- `valencia`
- `walden`
- `willow`
- `xpro2````python
from PIL import Image
import pilgramim = Image.open('sample.jpg')
pilgram.aden(im).save('sample-aden.jpg')
```Similarly, pilgram provides css filters and blend modes as a by-product.
Available css filters on `pilgram.css`:
- `contrast`
- `grayscale`
- `hue_rotate`
- `saturate`
- `sepia````python
from PIL import Image
import pilgram.cssim = Image.open('sample.jpg')
pilgram.css.sepia(im).save('sample-sepia.jpg')
```Available blend modes on `pilgram.css.blending`:
- `color`
- `color_burn`
- `color_dodge`
- `darken`
- `difference`
- `exclusion`
- `hard_light`
- `hue`
- `lighten`
- `multiply`
- `normal`
- `overlay`
- `screen`
- `soft_light````python
from PIL import Image
import pilgram.css.blendingbackdrop = Image.open('backdrop.jpg')
source = Image.open('source.jpg')
pilgram.css.blending.color(backdrop, source).save('blending.jpg')
```## Demo
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/akiomik/pilgram/blob/master/notebooks/example.ipynb)
- [notebooks/example.ipynb](notebooks/example.ipynb)
## Filter performance comparison with [instagram-filters](https://github.com/acoomans/instagram-filters)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/akiomik/pilgram/blob/master/notebooks/filter-performance-comparison.ipynb)
- [notebooks/filter-performance-comparison.ipynb](notebooks/filter-performance-comparison.ipynb)
![filter performance comparison](screenshots/filter-performance-comparison.png)
## Test
```sh
pipenv install --dev
make test # pytest
make test-tox # pytest with tox
```