图片指纹技术检测图片相似度

每张图片都有一个指纹。正如人的指纹可以识别人,图片的指纹能识别图片。

什么是图片指纹(图片哈希)?

用图片指纹进行相似图片的检测。这种技术通常被称为“感知图像hash”或是简单的“图片hash”。 

图片hash是检测一张图片的内容然后根据检测的内容为图片建立一个唯一值的过程。

比如,给定一张图片作为输入,应用一个hash函数,然后基于图片的视觉计算出一个图片hash。相似的图片也应当有相似的hash值。

特别地,将会使用“差别Hash”或简单的DHash算法计算图片指纹。简单来说,DHash算法着眼于两个相邻像素之间的差值。然后,基于这样的差值,就建立起一个hash值了。

为什么不使用md5,sha-1等算法?

我们不能在实现中使用加密hash算法。由于加密hash算法的本质使然,输入文件中非常微小的差别也能造成差异极大的hash值。我们实际上希望相似的输入可以有相似的hash输出值。 

需要的库有哪些?

三个主要的Python包:

• PIL/Pillow用于读取和载入图片

• ImageHash,包括DHash的实现
• 以及NumPy/SciPy,ImageHash的依赖包

具体流程:

1)、为一个图片建立dhash指纹

img1_dhash=str(imagehash.dhash(query))

2)、计算汉明距离(Hamming distance)

汉明距离被用于计算一个哈希中的不同位数。因此,哈希中只有一位不同的两张图片自然比有10位不同的图片更相似。

总结

正如一个指纹可以识别一个人,图片哈希也能唯一的识别一张图片。

使用图片指纹的知识,我们仅使用图片哈希就能找到和识别图像具有相似内容的图片。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值