我需要搜索一个巨大的图像数据库以使用 pHash 查找可能的重复项,假设这些图像记录具有使用 pHash 生成的哈希码。
现在我必须比较一个新图像,并且我必须使用 pHash 针对现有记录创建散列。但据我了解,has 比较并不像
hash1 - has2 < threshold
看起来我需要将两个哈希码都传递到 pHash API 中进行匹配。所以我必须分批从 DB 中检索所有哈希码,并使用 pHash API 进行一一比较。
但是,如果我有大约 1000 张图像在队列中与数百万已经存在的图像进行比较,这看起来不是最好的方法。
我需要知道以下内容。
- 我对使用 pHash 与现有图像数据库进行比较的理解/方法是否正确?
- 有没有更好的方法来处理这个问题(不使用像 lire 这样的 cbir 库)?
- 我听说有一种称为 dHash 的算法,它也可以用于与哈希码进行图像比较。是否有任何 Java 库可以用于此,可以与 pHash 一起使用来优化大图像和重复图像处理任务的任务。
提前致谢。