Skip to main content

ImageHash

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.

Metadata

Release files for ImageHash 4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ImageHash 4.0
File Size Uploaded
ImageHash-4.0.tar.gz 296.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ImageHash 4.0
File Interpreter ABI Platform
ImageHash-4.0-py3.5.egg Legacy Egg format - - Details
ImageHash-4.0-py2.py3-none-any.whl Python 2, Python 3 none any Details
ImageHash-4.0-py2.7.egg Legacy Egg format - - Details

Total release size: 1.2 MB

Release files / ImageHash-4.0.tar.gz

Download URL ImageHash-4.0.tar.gz
Size 296.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d7d95534e32e7b9c949029cf9f8383f50fbc3f2246d030da9cd277a8a99d23a3
BLAKE2b-256 checksum
How to use checksums
76760f46a75bda3f4ca77f7fe917f4eff0c974155a1484b60ff9e3005ca4362b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ImageHash-4.0-py3.5.egg

Download URL ImageHash-4.0-py3.5.egg
Size 306.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
d6c1e4887f622f97833d78f68b4f7fff46e26802c331a6868ff0198edccec902
BLAKE2b-256 checksum
How to use checksums
6493f8ac24d3b877e724139ea2e3ce340a6ffc6debeee9104bdb27ca089ed3de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ImageHash-4.0-py2.py3-none-any.whl

Download URL ImageHash-4.0-py2.py3-none-any.whl
Size 295.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f50b2427fc54b87ac7e73d7ba9e7a876a77384645563f225eed1d82e628d07fa
BLAKE2b-256 checksum
How to use checksums
5847e639093d67f54e59163f9d259575a10bd16e4d0ff3bb1259ba64b9c77a42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ImageHash-4.0-py2.7.egg

Download URL ImageHash-4.0-py2.7.egg
Size 305.6 kB
Tags Egg
SHA-256 checksum
How to use checksums
7aedf61dc17e7da2986a61d06ded48e10cd4530d5ed876471608b85c9b48a4f0
BLAKE2b-256 checksum
How to use checksums
6997a2acdd251f9a05f855078b6f4a73c26ecc34996bb943e0485a146e331182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.3.2

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.1

1 release file

4.2.0

3 release files

4.1.0

1 release file

This release

4.0 This release

4 release files

3.7

3 release files

3.5

2 release files

3.4

3 release files

3.3

2 release files

3.2

2 release files

3.1

2 release files

3.0

2 release files

2.2

1 release file

2.1

1 release file

2.0

1 release file

1.0

2 release files

0.3

2 release files

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page