← 返回工具指南
工具指南重复图片查找图片去重相似图片感知哈希dHash

重复图片怎么查:SHA-256、感知 Hash 与人工去重的正确用法

同一张图片改尺寸或重新压缩后,普通文件 Hash 会完全不同。本文解释精确重复、dHash 感知指纹、相似度阈值、误报,以及整理照片和商品素材的安全去重流程。

打开配套工具 →

素材目录里常见这样的文件:

text已剪下 ✓
product-main.jpg
product-main-copy.jpg
product-main-1200.jpg
product-main-final.webp
product-main-final-2.jpg

只看文件名,很难判断哪些只是复制,哪些经过压缩,哪些真的修过图。按文件大小排序也不可靠:同一张图换成 WebP 后可能小很多,另一张看起来相同的 JPG 可能因为 EXIF 和质量参数更大。

重复图片 / 相似照片查找工具会在浏览器本地计算两层指纹:SHA-256 找字节完全一致的文件,dHash 找视觉上接近的候选。结果按组预览,但不会直接删除磁盘文件。

SHA-256 只能找“文件完全一样”

SHA-256 会根据文件全部字节生成摘要。两份文件只要有一个字节不同,结果通常就完全不同。

它非常适合确认:

但下面操作都会改变 SHA-256:

因此“SHA 不同”只能说明文件字节不同,不能说明画面内容不同。

需要单独核对某个文件时,可以使用 Hash 摘要工具计算 SHA-256。

感知 Hash 比较的是画面轮廓

dHash 是一种简单、快速的感知指纹。常见做法是把图片缩小成 9×8 灰度图,再逐行比较相邻像素亮度:

8 行、每行 8 次比较,最终得到 64 位指纹。

两张图片指纹之间不同的位数称为 Hamming distance。距离越小,缩小后的亮度方向越接近。

这种方法不关心原始文件大小和压缩格式,所以能发现不少:

它计算快、结果可解释,适合在浏览器批量初筛。

dHash 不是“图片内容理解”

dHash 看的是整体亮度结构,不知道画面里是人、商品还是文字。

下面变化可能让同一张图无法匹配:

反过来,构图相似的两张图也可能得到接近指纹,例如同一模板中的不同商品,或大面积纯色背景的海报。

为了减少误报,工具还会比较宽高比和平均颜色。即便如此,分组仍然只是候选,必须看缩略图。

阈值应该怎样调

64 位 dHash 中,距离 0 表示亮度比较结果完全相同,但不代表文件字节相同。

可以把阈值理解为:

阈值不能脱离图片类型。商品白底图、证件扫描件和网页截图的结构比较固定,应使用较严格设置;活动海报和摄影照片变化更复杂,可能需要放宽,但误报也更多。

宽高比容差用于排除横图和竖图误分组。平均颜色距离则减少黑白结构相近、颜色完全不同的图片被放在一起。

调整一个参数后,要观察:

  1. 已知副本是否仍在同组;
  2. 明显不同的图片是否开始混入;
  3. 每组代表图是否符合保留目的。

“建议保留分辨率最高”为什么不总是对

工具默认优先保留像素更多、文件更大的图片,这是一个偏向源文件的保守规则,但它不了解素材业务。

真正需要保留的可能是:

所以不要把“建议保留”直接理解成“其余可以删除”。先比较透明背景、边缘、文字、颜色和元数据,再决定。

需要清除拍摄地点、设备和编辑信息时,可以在确认保留文件后使用 图片隐私清理工具重新导出。

为什么网页不直接删除原文件

浏览器文件选择器默认只授予读取权限。网页可以处理用户明确选择的文件并生成新下载,但不应该悄悄移动或删除磁盘内容。

更安全的去重流程是:

  1. 在网页中生成分组和待复核清单;
  2. 下载建议保留项 ZIP,确认每组都有一份;
  3. 回到 Finder、资源管理器或数字资产管理系统;
  4. 按清单逐组移动到临时目录;
  5. 业务确认后再清空临时目录。

重要素材应先备份。不要在唯一副本目录里进行不可恢复的批量删除。

动图、HEIC 和 SVG 要注意什么

动画 GIF 在普通图片解码流程中通常只按某一静态帧参与比较,两个动画第一帧相同不代表后续内容相同。

AVIF 是否可用取决于浏览器解码能力。HEIC/HEIF 可以先用 HEIC 转换工具转为 JPG、PNG 或 WebP,再与其他素材一起检查。

SVG 是 XML 文档,可以包含外部资源、样式和脚本语义,不应不加区分地当作普通位图批量载入。矢量图标更适合比较规范化后的 SVG 源码或使用专门的 Sprite 工具整理。

总结

图片去重没有一个“相似度超过 90% 就自动删除”的可靠规则。

SHA-256 负责确认完全相同,感知 Hash 负责缩小候选范围,宽高比和颜色负责减少一部分误报,最后仍要由人判断哪一张是正确版本。

把工具当作整理助手,而不是删除权限。先分组、再复核、保留备份,才能真正减少素材混乱,而不是制造一次更难恢复的误删。