2015-10-14 64 views
0

我有一个项目,其中有很多不同的图像。有一段时间,我们在里面添加更多的图像,但之前,我们需要检查它是否已经存在(因为我们之前添加了它)。搜索目录中的图像

我们现在正在手动执行此操作,查找文件夹中的图像,但随着项目变大,这相当耗时。

所以,我想创建一个给定图像的脚本,它会查看目录中是否存在。

你知道是否有任何基于命令行的工具或我可以用来构建一个脚本来做到这一点?

+0

您的问题不明确。你只是想检查文件名?字节对字节的比较?某种计算机视觉比较来检查相似性? – Palpatim

+0

只是视觉比较。这些图像将用于某些视图。我们不想添加我们已有的资产。 – Frion3L

+0

因为这是一个已知的难题,所以没有像标准shell实用程序那样存在。图像很嘈杂,很难预测,并且依赖于对我们的软弱,千百万年进化的大脑有完善意义的模式,但对于计算机来说真的很难处理。即使像使用ImageMagick将两个源图像转换为相同格式的解决方案也很容易出错,因为有损格式将导致最终输出的差异。见http://stackoverflow.com/questions/23931/algorithm-to-compare-two-images让你开始。 – Palpatim

回答

0

fdupes实用程序可以进行字节到字节的比较。它有一个-d or --delete选项,它会提示你在发现重复的时候询问它应该保留哪些文件。如果你不关心文件名,你可以要求只保留第一个:

fdupes --delete --noprompt 

如果你想删除看起来相同,但略有不同的图像,这是我猜的图像识别问题没有这样简单的解决方案。

+0

这不起作用,因为我们不能证明这两个文件将具有相同的散列(因为重复的文件可能已经从psd文件再次导出)。 – Frion3L