不花一分钱清掉硬盘里的重复图片:AntiDupl 上手全记录
不花一分钱清掉硬盘里的重复图片:AntiDupl 上手全记录
【免费下载链接】AntiDuplA program to search similar and defect pictures on the disk项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl
深夜整理照片,你在三个文件夹里发现了同一张海边日落各存了一份;想给网盘瘦身,翻了上百个"最终版"却分不清哪个才是真身。这种时候你就会明白:图片去重这件事,靠人眼一张张比对,纯属自虐。而开源工具 AntiDupl 就是来替你干这活儿的——它不看文件名,只分析图片内容,把重复的、相似的、甚至坏掉的图全部列到你面前,你只负责点头或摇头。
这篇文章不讲多余的细节,只带你走一条最省心的上手路径:从拿到工具到完成第一次清理,全程十分钟。你会看到它怎么扫描、怎么读结果,以及哪些场景下最好别用它。
先承认吧:手动清理重复图片,是笔亏本买卖
你可能会想:删个图而已,用文件哈希工具不就行了?哈希工具确实能找出"一模一样"的文件,但照片只要经过压缩、旋转、改尺寸,哈希值就完全变了,它立刻"失明"。
AntiDupl 的做法完全不同。它会先把图片缩小到统一的比较网格,再计算结构相似性指标(SSIM,一种模拟人眼感知的相似度评分),文件名、路径、格式后缀统统不认,只认"看起来像不像"。所以同一张照片的压缩版、旋转版、不同尺寸版,它都能揪出来。这也是它和"按文件名找重复"的小工具最本质的区别。想看具体算法的话,比较逻辑都写在src/AntiDupl/adImageComparer.cpp里,多线程并行那部分则集中在src/AntiDupl/adThreadManagement.cpp。
提示:AntiDupl 目前主要面向 Windows 用户。项目里另有一个命令行版 AntiDuplX,能在 Linux 服务器上运行,适合写脚本做定时去重。
三分钟跑完第一次扫描
拿到工具有两条路。图省事,直接下载编译好的发布版,解压即用;想研究源码或改功能,就把仓库克隆下来,用 Visual Studio 2022 打开src/AntiDupl.sln自己构建:
git clone https://gitcode.com/gh_mirrors/an/AntiDupl首次运行,你会看到一个干净的空界面。工具栏上的关键按钮不多:打开文件夹、开始扫描、选项设置,一眼就能认出来。
启动后的初始界面:左侧是预览区,右侧是结果表,底部状态栏显示统计数字。
第一次扫描只需三步。先点工具栏的文件夹按钮,把照片库目录加进来,可以一次加多个目录;再点开始按钮,进度条走完,结果就出来了。剩下的事,就是读懂那张结果表。
结果表怎么读?别被一堆数字吓到
扫描结束后,右侧表格会列出所有疑似重复的文件。重点看这几列:
- Group:当前文件属于第几组重复;
- Diff:两张图的差异比例,越小越像;
- 相似度列:和 Diff 对应,越接近 100% 越难区分;
- 尺寸、大小、格式:帮你判断哪张更值得留。
底部状态栏的 Total / Current / Selected 分别是文件总数、当前组数量和你选中的数量。选中的行会在左侧预览区放大显示,分辨率、EXIF 信息、所在路径也一并给出。第一次见到这张表别慌,核心信息其实就三行字。
扫描完成后,右侧表格按组列出重复文件,左侧预览区展示当前选中的图片及其详细信息。
到这里你只是"看见了重复",真正的决策还在下一关。
留哪张、删哪张:两招帮你做决定
面对一组重复图,先别急着删。第一招:双击任意一条,进入并排对比模式,两张图肩并肩显示,光影、裁切、清晰度差异一目了然。很多"看起来一样"的图,放大后高下立判。
对比模式下左右各显示一张图,表格同步给出差异数据,适合在删除前做最后核对。
第二招:用硬指标定标准。通常保留分辨率更高、体积更大、路径更"正式"的那份——比如原图目录里的,优先于缓存目录里的。确定后勾选要清理的行,点删除即可。AntiDupl 的删除会先走回收站逻辑(相关代码在src/AntiDupl/adRecycleBin.cpp),而且自带撤销功能,误删了能救回来。这一点在批量操作时尤其重要,它给你留了反悔的余地。
提示:动手删除前,确认每组至少留下一张。AntiDupl 会把组里"最像"的文件标出来,但最终留谁,决定权始终在你手里。
相似度阈值调到多少,才不会冤枉好图
默认的扫描阈值未必适合所有场景。在选项设置里找到比较阈值,可以参考这个经验:
- 90% 以上:严格模式,只认肉眼几乎分不出的图,适合备份校验这类精确场景;
- 70%–90%:平衡档,日常整理相册、素材库的主力区间;
- 70% 以下:宽松档,会把"同一构图的不同版本"也算作相似,适合清理重复下载的多版本文件。
阈值调低,找得多但误报也多;调高则相反。第一次用建议从平衡档起步,跑完看看结果,心里有数了再收紧或放宽。
顺带做个体检:找模糊图、坏图
AntiDupl 还藏着一个容易被忽略的功能:缺陷检测。扫描时会顺带检查 JPEG 文件是否完整(比如缺少结束标记)、图像是否模糊、有没有块状压缩伪影,检测逻辑集中在src/AntiDupl/adDataCollector.cpp。整理素材库时这招很实用——那些拍糊了还占着几 MB 空间的老照片,一次就能筛出来。
三个"先别用"的时刻
再顺手的工具也要知道边界,这三个场景建议谨慎:
- 还没备份的珍贵照片,先备份再清理,任何批量删除都有误伤概率;
- 需要严格保留原始文件的商业项目,先确认格式在支持列表里(AntiDupl 覆盖 JPEG、PNG、GIF、TIFF、WEBP、HEIF、PSD、DDS、AVIF、JXL 等常见格式);
- 想完全自动化、无人值守的服务器场景,图形界面不如命令行版顺手。
别让重复图片继续吃你的硬盘
回到开头那个深夜。下一次整理照片时,你不需要再对着几百个文件夹眼冒金星——把目录交给 AntiDupl,喝杯水的工夫,回来面对一张清清楚楚的清单,剩下的决定十分钟就能做完。存储空间省下来,找素材的时间也省下来,这笔账怎么算都划算。
行动建议:今天就挑一个最乱的图片文件夹,跑一次扫描试试。第一次先不删除,只观察结果、熟悉流程,然后再动真格。官方文档在docs/目录下,按需查阅即可。清理完记得回来删掉备份的临时文件,让硬盘真正瘦下来。
【免费下载链接】AntiDuplA program to search similar and defect pictures on the disk项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
