neurophant / enimda-cpp

Entropy-based image border detection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ENIMDA

Entropy-based image border detection algorithm: detect border or whitespace offset for every side of image, supports animated GIFs.

Prerequisites

GraphicsMagick (http://www.graphicsmagick.org/)

Algorithm (simplified)

For each side of the image starting from top, rotating image counterclockwise to keep side of interest on top:

  • Get upper block 25% of image height
  • Get lower block with the same height as the upper one
  • Calculate entropy for both blocks and their difference
  • Make upper block 1px less
  • Repeat from p.2 until we hit image edge
  • Border is between blocks with entropy difference maximum

Sliding from center to edge - searching for maximum entropy difference

Example

Find image borders:

Demo

For demo please refer to ENIMDA Demo

Also it lives at Picture Instruments as 'Remove borders' instrument

About

Entropy-based image border detection

License:MIT License


Languages

Language:C++ 97.8%Language:Makefile 2.2%