从 ±200 万个图像托架中查找并删除重复的图像



新闻门户网站公司有两台服务器(OS = Centos 6(:

第一个#1服务器有大约100万张图像(.jpg,.png(,服务器#2的计数几乎相同 - 100万张图像。其中一些是相同的重复项,有些是调整大小的重复项,有些是模糊的,有些没有模糊,有些是完全独特的图像。文件名主要也不同。

任务是将两个服务器媒体目录合并为一个。合并后,必须移动重复项(以释放存储空间(。

我已经用 Imagemagick compare -metric RMSE 进行了一些测试,但我认为这将需要很长时间才能将每个文件与来自两个服务器的每个文件进行比较。所以会有 100 万 x 100 万亿次操作,这将需要很长时间......

这里有什么建议吗?

使用 GNU Parallel 只计算一次,对于每个图像:

  • 纯数据校验和

  • 感知哈希

然后丢弃所有具有相同校验和的校验和,并查看具有相似感知哈希的那些。


仅获取图像数据的校验和(即不包括任何元数据,如图像中的不同日期(,如下所示:

identify -format "%#" a.jpg
9e51c9cf53fddc7d318341cd7e6c6e34663e5c49f20ede16e29e460dfc63867

指向感知哈希生成的链接:

  • 链接
  • pHash.org
  • 弗雷德在这里写了一篇很棒的文章

最新更新