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’t we 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.5.tar.gz (294.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Egg

File details

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

File metadata

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

File hashes

Hashes for ImageHash-3.5.tar.gz
Algorithm Hash digest
SHA256 5b78812a78109b7cfdc0c4d92b15a24416d8af27e3f915db1b83f074dc5ec912
MD5 bced3fce7785601d328daf0ab92293a0
BLAKE2b-256 4f2b39e13c004a745a130da64a07940c277320687cd3d3534f6b5fabac5ef6ae

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ImageHash-3.5-py2.7.egg
Algorithm Hash digest
SHA256 959248dc766acce97a4ee18300ce4c56bf49b55b8ad16efb09c30c44abf60456
MD5 f04da1e26ccc7e04848509a034ee62aa
BLAKE2b-256 0660d840f929be0e7b9b1d771c552ddd81046b57725b2cedbf03036ec55239ac

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