Czkawka 相似图片查重:免费开源,3 步扫完全库
2026/9/10 11:34:36 网站建设 项目流程

Czkawka 相似图片查重:免费开源,3 步扫完全库

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

手机相册翻了半天,同一桌年夜饭存了五份,只是横拍竖拍、加了点水印就判成两张不同照片。Czkawka 是个用内存安全的 Rust 写的免费开源相似图片查重工具,纯本地跑、不联网、不收任何信息,跨 Windows、macOS、Linux。

3 步跑完全库扫描

不用装图形界面,命令行走通就行:

git clone https://gitcode.com/GitHub_Trending/cz/czkawka cd czkawka && cargo build --release --bin czkawka_cli ./target/release/czkawka_cli image -d /path/to/your/images

第一步克隆源码,第二步编译出命令行版(首次约几分钟),第三步把-d指向你的照片目录,相似组直接打印在终端里。想跳过某些文件夹用-e排除,比如*/.git

横拍竖拍也认得:先读"摆放说明"再比对

两张内容一模一样、只是拍摄朝向不同的照片,普通工具会因像素排列不同而判成两张。

现象:你手机拍竖照,传到电脑被自动转成横的,查重却认不出它们是同一张。

原理:Czkawka 在比较前先读出照片自带的 EXIF 方向标签,在内存里把它转到正确朝向,再算相似度,不落地、不建临时文件。

let rotation = get_rotation_from_exif(path).unwrap_or(None); match rotation { Some(ExifOrientation::Normal) | None => img, Some(ExifOrientation::Rotate90CW) => img.rotate90(), Some(ExifOrientation::Rotate180) => img.rotate180(), Some(ExifOrientation::MirrorHorizontal) => img.fliph(), // 其余 5 种方向同理 };

类比:就像先看照片角落那张"此面朝上"的小贴纸,把歪的摆正了,再动手比对。这段逻辑在 czkawka_core/src/common/image.rs。

缩放加水印也躲不掉:压成指纹再打分

逐像素比对的方案,动一个像素就漏。Czkawka 用感知哈希把图压成一枚"指纹",再按像素差异打分归组,所以缩过尺寸、加过水印、裁掉一点边的版本,都能落进同一组。"差多少算相似"你自己定一个阈值,不用反复试参数。

和逐字节比对比,强在哪

老办法只认文件大小和哈希,一改分辨率、加个水印、翻个身就失效。Czkawka 把朝向、分辨率差异这些"假不同"抹平,真正贴近你眼睛看到的"同一张"。

  • 支持 JPEG、PNG、WebP、JXL,HEIC、AVIF、RAW 也能识别(后几类需装对应库)
  • 完全离线,照片不出你这台机器
  • 找不准就调阈值,比逐字节比多一条可调的手柄

适合谁,以及高频疑问

刚整理完手机相册的人、管设计素材库的运营、想给服务器磁盘瘦身又不想装图形界面的管理员,都能用上。

  • 要不要联网?不用,全程本地运行,不上传、不收集。
  • 支持哪些格式?JPEG、PNG、WebP、JXL 直接扫,HEIC、AVIF、RAW 装对应库后可识别。
  • 能顺带找别的吗?同一套核心还能查完全重复、空文件夹、大文件、相似视频,一条命令换个子命令就行。

把朝向、分辨率、水印这些"假不同"都抹平,Czkawka 让相似图片查重贴近人眼看到的"同一张"。建个目录、跑一条命令,重复的那批就能清出来了。

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询