smartcrop / Smartcrop.py
Programming Languages
Projects that are alternatives of or similar to Smartcrop.py
.. image:: https://travis-ci.com/smartcrop/smartcrop.py.svg?branch=master :target: https://travis-ci.com/smartcrop/smartcrop.py
smartcrop.py
smartcrop implementation in Python.
smartcrop finds good crops for arbitrary images and crop sizes, based on Jonas Wagner's smartcrop.js
_.
.. _smartcrop.js
: https://github.com/jwagner/smartcrop.js
.. image:: https://i.gyazo.com/c602d20e025e58f5b15180cd9a262814.jpg :width: 50%
.. image:: https://i.gyazo.com/5fbc9026202f54b13938de621562ed3d.jpg :width: 25%
.. image:: https://i.gyazo.com/88ee22ca9e1dd7e9eba7ea96db084e5e.jpg :width: 50%
Requirements
- numpy
- PIL or Pillow
Installation
.. code-block:: sh
pip3 install smartcrop
or directly from GitHub:
.. code-block:: sh
pip install -e git+git://github.com/hhatto/[email protected]#egg=smartcrop
Usage
Use the basic command-line tool:
.. code-block:: sh
$ smartcroppy --help
usage: smartcroppy [-h] [--debug] [--width WIDTH] [--height HEIGHT]
INPUT_FILE OUTPUT_FILE
positional arguments:
INPUT_FILE input image file
OUTPUT_FILE output image file
optional arguments:
-h, --help show this help message and exit
--debug debug mode
--width WIDTH crop width
--height HEIGHT crop height
Processing an image:
.. code-block:: sh
smartcroppy --width 300 --height 300 tests/images/business-work-1.jpg output.jpg --debug-file debug.jpg
Or use the module it in your code (this is a really basic example):
.. code-block:: python
import json
import sys
import smartcrop
from PIL import Image
image = Image.open(sys.argv[1])
sc = smartcrop.SmartCrop()
result = sc.crop(image, 100, 100)
print(json.dumps(result, indent=2))
License
MIT