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

  • 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-3.7.tar.gz (294.6 kB view details)

Uploaded Source

Built Distributions

ImageHash-3.7-py2.py3-none-any.whl (293.3 kB view details)

Uploaded Python 2Python 3

ImageHash-3.7-py2.7.egg (300.6 kB view details)

Uploaded Egg

File details

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

File metadata

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

File hashes

Hashes for ImageHash-3.7.tar.gz
Algorithm Hash digest
SHA256 09346020334afc317f79fe162928418f4b2c7e7e053638033f60339d39788c50
MD5 9c90dce69b52fbaa810e12dc8a0455d8
BLAKE2b-256 758d5c3e6c7bfed73e2d1d0050b972f48727cfbe9c00eb38cc23c202a9ff5df9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ImageHash-3.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f46a3313fdd1e5deb9f6e1cd73e842a4da23121bc9afda8842a0d34023050b3f
MD5 3524e6dfe0705b15c21ece32d83885cc
BLAKE2b-256 3e53d0dbbbe33c16733f4266f88f5abc494f70d6aecccc8b84706ed17e22c829

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ImageHash-3.7-py2.7.egg
Algorithm Hash digest
SHA256 8025f9f75760333f65a5218e3cb0653fb2e7a01b1965f286452ea708708623b9
MD5 c82a95a42ed33662492f1d9746eab312
BLAKE2b-256 dde1965caee1f3939cc0553b63ab3700ba3f1dd25115e3520f911d225683080b

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