1、代码示例(我用的图片是大家来找茬的两张类似图片,下面看看用四种图像哈希方式的结果):
1.average hashing
from PIL import Image
import imagehash
path1 = "C:/Users/夏戈/Desktop/test1.png"
path2 = 'C:/Users/夏戈/Desktop/test2.png'
hash1 = imagehash.average_hash(Image.open(path1))
hash2 = imagehash.average_hash(Image.open(path2))
print (hash1)
print (hash2)
print (hash1-hash2)
7c7ffffb06161010
7e7ffff386161010
3
2.difference hashing
hash1 = imagehash.dhash(Image.open(path1))
hash2 = imagehash.dhash(Image.open(path2))
print (hash1)
print (hash2)
print (hash1-hash2)
e0d79696342ce7a1
f0d69696342ce7e1
3
3.wavelet hashing
hash1 = imagehash.whash(Image.open(path1))
hash2 = imagehash.whash(Image.open(path2))
print (hash1)
print (hash2)
print (hash1-hash2)
7e7ffff306121000
7e7ffff306121000
0
4.perception hashing
hash1 = imagehash.phash(Image.open(path1))
hash2 = imagehash.phash(Image.open(path2))
print (hash1)
print (hash2)
print (hash1-hash2)
c4b94a165ded9193
c4b94a165ded9193
0
2、图片hash理论知识:
参考链接:
https://www.cnblogs.com/Kalafinaian/p/11260808.html
参考链接:四种图像哈希方式https://blog.csdn.net/sinat_26917383/article/details/78582064