我有 2 个文件夹,每个文件夹有超过 5,000 张照片:
- 文件夹 1:原始文件质量良好,但名称易于理解(例如
saigon_motorcycle_traffic.jpg
) - 文件夹 2:相同的文件,质量真的很差(宽度为 450px),但具有与数据库匹配的干净 ID(例如
562634.jpg
)。
目标是将高分辨率图片与数据库 ID 进行匹配。
我的问题:saigon_motorcycle_traffic.jpg
将高分辨率版本重命名为低分辨率版本最快的方法是什么562634.jpg
?
我尝试了很多软件(例如重复照片清除器,视觉图片、XnView、DupliFinder 等),它们都找到了重复项,但没有一个提供这种重命名的正确方法或合适的导出功能。
编辑:我没有尝试过任何脚本(如评论中所述),因为我不知道也没有找到任何脚本。如果您知道任何信息,请告诉我。
有些事情行不通:匹配图像尺寸行不通(大多数图像具有相同的尺寸),匹配创建日期行不通(全都搞乱了)并且手动完成行不通因为我想保持我的心理健康;-)
答案1
我最终编写了一个 PHP 例程(我不会发布完整的代码,因为这是一个非常不干净的解决方案),并解决了这个问题。
使用相位器我能够遍历所有图像文件并找到可疑的重复项:每个图像都转换为一个小的哈希值(基于 8x8 版本的图像)。然后可以比较这些哈希值。
需要记住两件事:
- 由于这是一个嵌套循环,因此在进行实际比较之前,首先获取所有哈希值并缓存它们非常重要。否则它将花费很长时间。
- 该方法并不能提供完美的结果。第一次运行中我的错误率很小。因此仍然需要进行一些错误检查。
答案2
听起来你对照片重复清理软件有一些令人沮丧的经历。你有没有考虑过使用重复照片修复器不仅可以查找重复项,还可以提供重命名和导出照片的功能?这些类型的工具可能更全面,并提供更好的整体体验。您可能需要研究并尝试一些不同的选项,以找到最适合您需求的选项。