Python-如何利用图片查找图片

这个标题可能会让人不知所云。但是是我们在企业的开发工作中可能会遇到的1个问题。生活中,我们可能会有在1段文本中查找某些字符的情况,比如,我们假设有这么一段字符串:

>>> data = "The quick brown fox jumps over the lazy dog."

我们想找出这段字符串中是否有fox这个字符串,如果有则返回其在这段字符串中的索引。在Python中我们可以这样操作:

>>> data.find("fox")    
16

而这里我们类似的是,我们想通过1个图片查找某个目录下存在的这个图片。
我们公司的其他部门提出这样1个需求,现在手头上有一些PDF文件,这些PDF文件的内容是标题加图片一些内容组成。另外,还有打包好的这些图片的压缩包。当时其他部门想要我们协助他们完成将给定标题下的图片全部从这些压缩包中给找出来。
对应这个问题的解决,其实还是比较简单的。这里我说下当时解决的思路:

  • 首先,我们根据PDF中的标题将页面中的图片给提取出来。
  • 与之同时,我们对压缩包进行解压操作,Python提供这样的模块可以比较方便的进行解压操作。

我们对解压后的图片,通过某种算法生成1个哈希值,然后按照哈希值-图片存储的位置。同样的,我们也对提取出来的图片按照同样的算法方式也生成1个哈希值。
这样,我们只需要对提取出来的图片的哈希值就可以找到对应图片的位置了。
当然,除了哈希值的方式,你还可以计算图片的直方图,然后对图片进行距离的比对,这样也是可以的。

若文章对您有帮助,请打赏1块钱。您的支持,可以让我分享更多精彩的文章。转载请注明来源


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。