Skip to main content

Quickly find visually similar images

Project description

Implements libpuzzle for python.

It is designed to quickly find visually similar images (GIF, PNG, JPG), even if they have been resized, recompressed, recolored or slightly modified.

Sample applications:

  • finding duplicate images in photo libraries

  • image classification

  • image search services

  • moderation (pictures sent by users on forums, wikis, blogs, etc). Pictures similar to other pictures that were previously banned can be signaled to moderators.

The library relies on the GD Library in order to load bitmap pictures.

On a debian server, installation would be:

$ apt -y install libpuzzle-dev libgd2-xpm-dev
$ pip install libpuzzle

Usage:

from libpuzzle import Puzzle, SIMILARITY_THRESHOLD

puzzle = Puzzle()
sign1 = puzzle.from_filename('img1.jpg')
sign2 = puzzle.from_filename('img2.png')
distance = sign1.distance(sign2)
if distance <= SIMILARITY_THRESHOLD:
    print('images are propably the same')

API:

SIMILARITY_THRESHOLD
SIMILARITY_HIGH_THRESHOLD
SIMILARITY_LOW_THRESHOLD
SIMILARITY_LOWER_THRESHOLD

class Puzzle:

    max_width  #

    max_height  #

    lambdas  #

    noise_cutoff  #

    p_ratio  #

    contrast_barrier_for_cropping  #

    max_cropping_ratio  #

    autocrop  #

    from_filename(filename) -> Signature
        # hydrate Signature from filename

    from_signature(sign) -> Signature
        # hydrate Signature from value

    from_compressed_signature(sign) -> Signature
        # hydrate Signature from compressed value


class Signature:
    # Implements signature

    value  # the value
    compressed  # the compressed value

    distance(signature) -> float
        # distance between 2 signatures


exception PuzzleError:
    # Raise when something went wrong

Project details


Download files

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

Source Distribution

libpuzzle-1.0.0.tar.gz (44.4 kB view details)

Uploaded Source

File details

Details for the file libpuzzle-1.0.0.tar.gz.

File metadata

  • Download URL: libpuzzle-1.0.0.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for libpuzzle-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1b9d4a2eabc979a53c57be40c8ffc5fa6e5f0054316297dddd542cc47d36d1f3
MD5 3954c7e8de701a8bfcaabbc68fc5fd32
BLAKE2b-256 6169856926a3f7b9e146e19b36325f056d051b4cecd2f9305ae832dcaf9c83b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page