Skip to main content

smartcrop implementation in Python

Project description

https://travis-ci.com/smartcrop/smartcrop.py.svg?branch=master

smartcrop.py

smartcrop implementation in Python.

smartcrop finds good crops for arbitrary images and crop sizes, based on Jonas Wagner’s smartcrop.js.

https://i.gyazo.com/c602d20e025e58f5b15180cd9a262814.jpg https://i.gyazo.com/5fbc9026202f54b13938de621562ed3d.jpg https://i.gyazo.com/88ee22ca9e1dd7e9eba7ea96db084e5e.jpg

Requirements

  • numpy
  • PIL or Pillow

Installation

pip3 install smartcrop

or directly from GitHub:

pip install -e git+git://github.com/hhatto/smartcrop.py.git@master#egg=smartcrop

Usage

Use the basic command-line tool:

$ 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:

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):

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for smartcrop, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size smartcrop-0.3.2-py3-none-any.whl (7.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size smartcrop-0.3.2.tar.gz (5.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page