【问题标题】:How can i identify duplicate image that has a different size如何识别具有不同大小的重复图像
【发布时间】:2018-04-14 08:37:57
【问题描述】:

问题是我有一个包含超过 80k 图像的文件夹,其中大约 40% 是重复的。 (有些图片是旋转的,有些大小不同,但还是同一张图片)。

起初我使用散列算法(使用 c++/java)来删除所有重复的图像(具有相同的大小和其他属性)。 但它似乎并没有删除所有这些,因为有些图片有不同的大小(但在视觉上是相同的)

我在网上搜索了很多以找到任何有效的算法来解决这个问题

我为我的问题找到的最佳代码是 pHash,但它已经过时并且不再适用于 VS。

如果有人对我有想法,那就太棒了。

谢谢

【问题讨论】:

标签: c++ image duplicates


【解决方案1】:

除了哈希算法,你可以计算每张图片的histogram,然后compare them

旋转图像的直方图应该完全相同,调整大小的图像应该非常相似。

Here 有一个使用 OpenCV 进行直方图比较的示例。

我仍然建议首先使用散列,因为它应该更快并删除第一组重复项,然后使用直方图比较对其进行细化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2014-11-27
    • 2021-04-12
    • 2017-12-22
    • 2014-06-16
    • 1970-01-01
    相关资源
    最近更新 更多