A image hashing library written in Python. ImageHash supports:
- average hashing (aHash)
- perception hashing (pHash)
- difference hashing (dHash)
- wavelet hashing (wHash)
Based on PIL/Pillow Image, numpy and scipy.fftpack (for pHash) Easy installation through pypi.
>>> 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
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.