AntiDupl实战:不看文件名只看画面,三分钟揪出硬盘里所有相似图片和瑕疵图片
【免费下载链接】AntiDuplA program to search similar and defect pictures on the disk项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl
你的硬盘里,到底藏了多少张"长得一模一样"的照片?这个问题,AntiDupl 能替你回答——它是一款相似图片与缺陷图片查找工具,不看文件名、不看文件大小,直接比对画面内容,把重复图片和瑕疵图片一次性揪出来。在讲它怎么用之前,先回到上周五晚上,你那次以失败告终的硬盘大扫除。
一次失败的"大扫除",踩了三个找重复的坑
你盯着备份盘里那两个加起来快 40GB 的文件夹,心里发虚:这里头肯定全是重复,可动手才发现根本清不动。回想一下,你多半栽在这三个坑里:
- 文件名会撒谎。同一张照片,在手机里叫 IMG_001,传到网盘叫"2019_备份",下载回来叫"最终版",名字完全不同,画面却一模一样。按名字找,等于让证据自己改名。
- 大小会骗人。微信传图会压缩、网页存图会裁切,同源图片的文件体积天差地别,按大小筛重复,漏掉的比找到的多。
- 肉眼会崩溃。上千张图里找"相似而不相同"的对象,看到第十张开始恍惚,看到第一百张已经忘了前面长什么样。
这三个坑的共同点在于:它们全都在用"文件的身份证信息"做判断,而一张图是否重复,本该由画面本身说了算。
AntiDupl 的思路:从"查户口"变成"认脸"
普通去重工具的思路是查户口——比对文件名、大小、哈希指纹,信息对得上才算重复。这套逻辑对付"原样复制"没问题,可图片一旦被改名、转格式、调尺寸、重压缩,指纹立刻变样,工具当场"失联"。
AntiDupl 换了套思路:认脸。它读取画面的纹理、明暗与布局,用结构相似性算法算出两张图的"像不像",而不是"是不是同一串字节"。于是:
- 同一张图被旋转 90 度,它认得;
- 被压成小尺寸缩略图,它认得;
- 被二次压缩出一身噪点,它照样认得;
- 唯一认不出来的,是画面真的不同的图。
顺带一提,JPEG、PNG、TIFF、WEBP、HEIC、AVIF、JXL 等 18 种常见格式它都能读,跨格式的"变装"也逃不过。把"找重复"从一道体力活变成一道算术题,这就是它的核心价值。
三分钟拿到第一份扫描结果
别急着研究菜单,先让它跑起来,路径越短越好:
- 添加扫描路径——选一个塞满图片的文件夹,手机照片导出目录、素材库、下载文件夹都行;
- 点击开始——扫描自动分配到多个 CPU 核心并行处理,进度条走完,结果立刻上桌;
- 看结果——右侧表格按组列出重复图片,左侧预览区显示你选中的那一张。
启动后就是这副样子:左边预览、右边表格,工具栏把常用操作都摆在明面上,第一次用也不会迷路。
第一次扫描跑完,看到"Total: 33、重复组列了一长串"的瞬间,你就明白这工具和以前用的不一样——它认的是画面本身,而不是文件的名字。哪怕一张叫 IMG_001、一张叫"最终版",只要画面相同,都会被归进同一组。
它认得出的"变装重复":比你以为的更隐蔽
扫描结果里其实藏着不少门道。看这张扫描结果界面:
表格里每一行就是一张图:绿勾代表与同组图片哈希完全一致,是货真价实的复制品;红叉代表建议删除的那份;Diff 列则是画面相似度。
一个典型场景:壁纸文件夹里躺着 wallpaper-1598948.jpg 和 wallpaper-1598948(2).jpg,画面相同,只是一张被压缩过、尺寸被改过——这类"变装"以前按大小比对时最容易漏网,在 AntiDupl 里却被干净利落地配成了一对。
如果连"横版和竖版其实是同一张"这种更刁钻的情况也要抓,可以在选项里开启旋转与镜像识别。对素材来源杂的文件夹,这一项往往能多捞回不少空间。
免费附赠的"质检报告":模糊、马赛克、损坏一次筛出
找重复之外,AntiDupl 还顺手给整库图片做了一次质检,把三类"问题选手"单独拎出来:
- 拍糊的废片——对焦失败、手抖模糊的图,边缘糊成一片,它标记出来;
- 压缩过度的马赛克图——块状伪影明显的劣质图,一眼就是"不适合商用"的那类;
- 文件损坏的图——比如 JPEG 缺失结束标记,典型的下载中断产物,打都打不开,更该删。
相当于扫描一遍,同时拿到"重复清单"和"缺陷清单"两份报告。对需要逐张审核素材质量的电商运营和摄影师来说,这一步省下的不是几分钟,而是整个下午。
动手删除之前,先来一次"当面对质"
找到重复只是第一步,真正纠结的是"删哪份、留哪份"。AntiDupl 专门留了确认环节:双窗格对比预览,把两张相似图并排放大,细节差异看得一清二楚。
拿不准的组调出双图对比,放大到细节处比一比再决定留谁删谁,误删珍贵原图的概率大大降低。
确认之后的操作也都有安全网:删除默认进回收站,误删可撤销;需要的话还能把"第一张"改名成"第二张"的名字、移动到指定目录,批量处理毫不手软。
两张表,解决"删哪份、阈值调多少"的纠结
第一张表:相似度阈值怎么选。
| 使用模式 | 阈值 | 适合的图库 | 误报风险 |
|---|---|---|---|
| 严格模式 | 90% 以上 | 合同扫描件、文档备份验证 | 低 |
| 平衡模式 | 70%–90% | 日常照片与素材整理 | 中 |
| 宽松模式 | 50%–70% | 找同图不同尺寸、近似构图 | 较高 |
一句口诀:阈值调得越低,捞得越多,误报也越多。先宽松粗筛、再严格复核,效率最高。
第二张表:这一组里该留哪一份。按这个顺序判断就行:
- 留分辨率更高的那份——放大不糊;
- 留没有压缩痕迹的那份——画质更干净;
- 留文件完整无损的那份——能正常打开。
收尾:把"整理图库"从苦差变成习惯
回到开头那个周五的晚上。现在你知道了:重复图片不是靠肉眼翻出来的,是靠"认脸"认出来的;清理也不是一场耗时两小时的大工程,而是一次三分钟的例行检查。AntiDupl 把"整理图片库"从周末苦差变成偶尔点一下开始按钮,腾出来的不只是硬盘空间,还有你翻图时的心情。
今晚就挑一个塞满图片的文件夹试试——第一轮跑完,你多半会回来清理下一个。
想深入研究的读者,可以翻翻官方文档目录 docs/data/help/(英文与俄文两套完整手册),或者从核心比对算法 src/AntiDupl/adImageComparer.cpp 读起;想自己动手编译,克隆https://gitcode.com/gh_mirrors/an/AntiDupl后按仓库 README 配置构建环境即可。
【免费下载链接】AntiDuplA program to search similar and defect pictures on the disk项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考