如何拿到图片的hash值

复制代码
from PIL import Image

获得图像的hash值

def get_hash(img):
img = img.resize((16, 16), Image.Resampling.LANCZOS).convert('L') # 抗锯齿 灰度
# img.show()
avg = sum(list(img.getdata())) / 256 # 计算像素平均值
s = ''.join(map(lambda i: '0' if i < avg else '1', img.getdata())) # 每个像素进行比对,大于avg为1,反之为0
return ''.join(map(lambda j: '%x' % int(s[j:j+4], 2), range(0, 256, 4)))
复制代码
#img:传入一个图片对象,
#返回一个类似这样的hash值:ffffff81810100247e408100c124f720e701c335e324f124e530818181c3ffff

#要注意img.resize 不能太大 ,不然返回值会不精准

猜你喜欢

转载自blog.csdn.net/douyinbuwen/article/details/130043198