Skip to main content

Image Hashing library

Project description

A image hashing library written in Python. ImageHash supports:

  • average hashing (aHash)

  • perception hashing (pHash)

  • difference hashing (dHash)

  • wavelet hashing (wHash)

Travis Coveralls

Rationale

Why can we not use md5, sha-1, etc.?

Unfortunately, we cannot use cryptographic hashing algorithms in our implementation. Due to the nature of cryptographic hashing algorithms, very tiny changes in the input file will result in a substantially different hash. In the case of image fingerprinting, we actually want our similar inputs to have similar output hashes as well.

Requirements

Based on PIL/Pillow Image, numpy and scipy.fftpack (for pHash) Easy installation through pypi.

Basic usage

>>> from PIL import Image
>>> import imagehash
>>> hash = imagehash.average_hash(Image.open('test.png'))
>>> print(hash)
d879f8f89b1bbf
>>> otherhash = imagehash.average_hash(Image.open('other.bmp'))
>>> print(otherhash)
ffff3720200ffff
>>> print(hash == otherhash)
False
>>> print(hash - otherhash)
36

The demo script find_similar_images illustrates how to find similar images in a directory.

Source hosted at github: https://github.com/JohannesBuchner/imagehash

Changelog

  • 4.0: Changed binary to hex implementation, because the previous one was broken for various hash sizes. This change breaks compatibility to previously stored hashes; to convert them from the old encoding, use the “old_hex_to_hash” function.

  • 3.5: image data handling speed-up

  • 3.2: whash now also handles smaller-than-hash images

  • 3.0: dhash had a bug: It computed pixel differences vertically, not horizontally.

    I modified it to follow dHash. The old function is available as dhash_vertical.

  • 2.0: added whash

  • 1.0: initial ahash, dhash, phash implementations.

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

ImageHash-4.0.tar.gz (296.4 kB view details)

Uploaded Source

Built Distributions

ImageHash-4.0-py3.5.egg (306.5 kB view details)

Uploaded Egg

ImageHash-4.0-py2.py3-none-any.whl (295.6 kB view details)

Uploaded Python 2Python 3

ImageHash-4.0-py2.7.egg (305.6 kB view details)

Uploaded Egg

File details

Details for the file ImageHash-4.0.tar.gz.

File metadata

  • Download URL: ImageHash-4.0.tar.gz
  • Upload date:
  • Size: 296.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ImageHash-4.0.tar.gz
Algorithm Hash digest
SHA256 d7d95534e32e7b9c949029cf9f8383f50fbc3f2246d030da9cd277a8a99d23a3
MD5 9615399333870afc5ac42561354dfba6
BLAKE2b-256 76760f46a75bda3f4ca77f7fe917f4eff0c974155a1484b60ff9e3005ca4362b

See more details on using hashes here.

File details

Details for the file ImageHash-4.0-py3.5.egg.

File metadata

  • Download URL: ImageHash-4.0-py3.5.egg
  • Upload date:
  • Size: 306.5 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ImageHash-4.0-py3.5.egg
Algorithm Hash digest
SHA256 d6c1e4887f622f97833d78f68b4f7fff46e26802c331a6868ff0198edccec902
MD5 e3eeeebce65d919cb74ef8e43cbbbadc
BLAKE2b-256 6493f8ac24d3b877e724139ea2e3ce340a6ffc6debeee9104bdb27ca089ed3de

See more details on using hashes here.

File details

Details for the file ImageHash-4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ImageHash-4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f50b2427fc54b87ac7e73d7ba9e7a876a77384645563f225eed1d82e628d07fa
MD5 d58b8c8bc56af81d6ee2dc937c7bc954
BLAKE2b-256 5847e639093d67f54e59163f9d259575a10bd16e4d0ff3bb1259ba64b9c77a42

See more details on using hashes here.

File details

Details for the file ImageHash-4.0-py2.7.egg.

File metadata

  • Download URL: ImageHash-4.0-py2.7.egg
  • Upload date:
  • Size: 305.6 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ImageHash-4.0-py2.7.egg
Algorithm Hash digest
SHA256 7aedf61dc17e7da2986a61d06ded48e10cd4530d5ed876471608b85c9b48a4f0
MD5 0c3ffa9a1f53b5346d958e2dbe9b885a
BLAKE2b-256 6997a2acdd251f9a05f855078b6f4a73c26ecc34996bb943e0485a146e331182

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