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
Release history Release notifications | RSS feed
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 hashes)