小编典典

删除重复的图像

algorithm

我们收集了几百个演出的照片图像。大量照片在视觉上是重复的,但是文件大小,分辨率,压缩率等不同。

是否可以使用任何特定的图像处理方法来搜索并删除这些重复的图像?


阅读 223

收藏
2020-07-28

共1个答案

小编典典

我最近想为PHP图像库完成此任务。我希望能够为上载的图像生成“模糊”指纹,并检查数据库中所有具有相同指纹的图像(表明它们相似),然后更紧密地比较它们以确定相似程度。

我通过将上传的图像调整为150像素宽,将其缩小为灰度,将每种颜色的值四舍五入到16的最接近的倍数(给出了0至255之间的17种可能的灰色阴影),对其进行归一化并将其存储在其中来完成此操作。一个数组,从而创建“模糊”颜色直方图,然后创建直方图的md5sum,然后可以在数据库中进行搜索。这对于缩小与上传文件在视觉上非常相似的图像非常有效。

然后,将上传的文件与数据库中的每个“相似”图像进行比较,我拍摄了两个图像,将它们调整为16x16的大小,然后逐像素分析它们,并从每个像素的RGB值中减去了对应像素的值。其他图像,将所有值加在一起并除以像素数即可得出平均颜色偏差。小于特定值的任何值都被确定为重复项。

整个过程都是使用GD模块以PHP编写的,与数千张图像的比较每个上传的文件仅需几百毫秒。

我的代码和方法在这里:http :
//www.catpa.ws/php-duplicate-image-finder/

2020-07-28