项目作者: fizzday

项目描述 :
image smart crop with opencv in python (图片智能裁剪, 获取更优化的裁剪结果, 包括人像, 主要建筑物等, 通过计算, 智能裁剪出相对理想的图片)
高级语言: Python
项目地址: git://github.com/fizzday/imageCropSmart.git


image smart crop(图片智能裁剪)

description

Smart crops images uisng OpenCV, forked from epixelic/python-smart-crop, and improve more

Uses the algorithms described in https://github.com/thumbor/thumbor/wiki/Detection-algorithms but actually combining both methods. We try to detect faces on the image, then, in any case we detect features. We then combine both results with different weights, so face detection is, in this case 3,33 times stronger than feature detection.

Installing

Requires python-opencv, install the dependency with pip install python-opencv

Install the command using PIP: pip install git+https://github.com/fizzday/imageCropSmart

Tested on Debian 8 and Ubuntu WSL and mac 10.13.1

Usage

  • command line

    Usage: smartcrop -W 640 -H 360 -i input.jpg -o output.jpg

See smartcrop --help

  • python source code

    ```python
    import smartcrop

img_input = “input.jpg”
img_output = “output.jpg”
img_width = 400
img_height = 300

smartcrop.smart_crop(img_input, img_width, img_height, img_output, None)

  1. Any Case : you can run the code in `./smartcrop/_init_.py`
  2. ## example1
  3. - input.jpg
  4. ![input.jpg](https://raw.githubusercontent.com/fizzday/imageCropSmart/master/smartcrop/input.jpg)
  5. - crop
  1. smartcrop -W 400 -H 300 -i input.jpg -o output.jpg
  2. ```
  3. ![output.jpg](https://raw.githubusercontent.com/fizzday/imageCropSmart/master/smartcrop/output.jpg)

example2

  • input2.jpg
    input2.jpg
    1. smartcrop -W 400 -H 300 -i input2.jpg -o output2.jpg
    output2.jpg