我需要搜索一个巨大的图像数据库以使用 pHash 查找可能的重复项,假设这些图像记录具有使用 pHash 生成的哈希码。

现在我必须比较一个新图像,我必须使用 pHash 针对现有记录为此创建哈希。但根据我的理解,有比较并不像

hash1 - has2 < threshold

看起来我需要将两个哈希码传递到 pHash API 中进行匹配。所以我必须从数据库中批量检索所有哈希码并使用 pHash API 一一比较。

但是如果我有大约 1000 张图像在队列中与数百万已经存在的图像进行比较,这看起来不是最好的方法。

我需要知道以下内容。
  • 我对使用 pHash 与现有图像数据库进行比较的理解/方法是否正确?
  • 有没有更好的方法来处理这个问题(不使用像里拉这样的 cbir 库)?
  • 我听说有一种叫做 dHash 的算法,它也可以用于与哈希码的图像比较..是否有任何 Java 库可以与 pHash 一起使用以优化大图像和重复图像处理任务的任务.

  • 提前致谢。

    最佳答案

    我认为在 pHash 支持论坛上讨论了这个问题的某些部分。



    http://lists.phash.org/htdig.cgi/phash-support-phash.org/2011-May/000122.html

    http://lists.phash.org/htdig.cgi/phash-support-phash.org/2010-October/000103.html

    关于java - 使用 bash 搜索庞大的图像数据库,最好的方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18257641/

    10-09 01:06