哈希+汉明距离进行相似性度量

哈希+汉明距离进行相似性度量

哈希算法

aHash

  1. 定义

    aHash 基于低频的均值哈希 :过于严格 更适合搜索缩略图

  2. 算法步骤

    • 缩小图片尺寸
    • 将其化为灰度图
    • 计算灰度均值
    • 根据与灰度均值的对比得到二值图
    • 将二值图按序组合成哈希值(指纹)
  3. 代码实现(python)

    def get_aHash(image_dir):
     from functools import reduce
     image = Image.open(image_dir).resize((8, 8), Image.ANTIALIAS).convert('L')
     avg = reduce((lambda x,y:x+y),image.getdata())/64
     #aHash_value_binary = reduce(lambda x,y: str(x)+str(y),map(lambda i: 0 if i < avg else 1, image.getdata())) # 二进制表示
     aHash_value_decimal = reduce(lambda x, y_z: x | (y_z[1] << y_z[0]),enumerate(
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值