mcpField
P
photo-dedup

photo-dedup

github.com/tivojn生产力056 次安装37 周前更新
代码仓库

关于 photo-dedup

photo-dedup 是用于查找文件夹中重复及相似照片的 Skill,并将候选照片整理供审核。它通过感知哈希聚类,原始照片不会被移动或删除。

主要功能

  1. 01基于感知哈希匹配图像
  2. 02按相似度聚类照片
  3. 03选择最大文件作为代表
  4. 04通过浏览器审核分组
  5. 05支持预览和阈值调整

适用场景

  1. 01清理活动照片文件夹
  2. 02保存前审核相似照片
  3. 03从大量照片中筛选独特图像

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tivojn/photo-dedup --skill photo-dedup

安装后在 Claude Code 中输入/photo-dedup确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
scripts/
generate_review.py
review_server.py
dedup.py

详细介绍

照片去重 — 从重复照片中查找并选出唯一照片

当用户想要为照片去重、从大量照片中查找唯一图像、移除相似或重复照片,或按唯一性整理照片时,使用此技能。触发短语:“照片去重”“查找重复照片”“唯一照片”“移除重复图像”“照片去重”“/photo-dedup”。

概述

此技能会处理一个照片文件夹(通常包含数百张活动照片,例如校园摄影照片),使用感知哈希识别重复和近似重复照片,并将它们分类到唯一照片和重复照片文件夹中。此技能专为这样的工作流设计:收到约 500 张照片,但其中真正唯一的只有约 100 张。

工作原理

  1. 感知哈希 — 将每张图像转换为代表其视觉内容的感知哈希(pHash)。即使图像的分辨率、压缩方式或细节编辑不同,相似图像生成的哈希也相似。

  2. 聚类 — 根据哈希相似度对图像分组。每个集群代表一个“场景”或“镜头”。从每个集群中选出最佳图像(文件大小最大 = 画质最高)作为唯一代表。

  3. 输出 — 将唯一照片复制到 unique/ 文件夹。生成报告,显示找到的重复照片数量及集群分组。

用法

基本用法 — 为文件夹去重:
/photo-dedup ~/Photos/school-event/
自定义阈值:
/photo-dedup ~/Photos/school-event/ --threshold 8

阈值用于控制相似度检测灵敏度(默认值:6,范围:0-20)。值越低,匹配越严格;值越高,分组越宽松。

预览模式(不复制文件):
/photo-dedup ~/Photos/school-event/ --preview

工作流

用户调用此技能时:

  1. 验证输入 — 确认源文件夹存在且包含图像
  2. 按需安装依赖项 — pip3 install Pillow imagehash pillow-heif
  3. 运行去重扫描:
    python3 ~/.claude/skills/photo-dedup/scripts/dedup.py <source_folder> --preview [--threshold N]
    
  4. 向用户报告结果(总数、唯一照片数、重复照片数)
  5. 启动审核服务(在本地运行并自动打开浏览器):
    python3 ~/.claude/skills/photo-dedup/scripts/review_server.py /tmp/dedup_report_<folder_name>.json --output ~/Desktop/selected_photos &
    
    然后,用户可以:
    • 并排查看所有重复照片组(Notion 风格的 UI)
    • 点击选择每组中要保留的照片
    • 使用“自动选择最佳”一键选择默认照片
    • 点击“保存所选项”——照片会立即复制完成,无需使用 Terminal
  6. 用户保存后,告知他们所选照片的位置
  7. 完成后终止服务:kill $(pgrep -f review_server)

审核服务是一个轻量级本地 HTTP 服务——无需安装、无需配置,只需 Python。 非技术用户只需与浏览器交互。点击一次即可保存。

输出结构

~/Desktop/selected_photos/     ← User's selected photos (copies, originals untouched)
/tmp/dedup_report_*.json       ← Clustering report
(original photos are NEVER modified or deleted)

重要说明

  • 无损操作 — 绝不会移动或删除原始照片。唯一照片会复制到子文件夹中。
  • 支持的格式 — JPG、JPEG、PNG、HEIC、WEBP、TIFF、BMP
  • 性能 — 在现代硬件上,不到一分钟即可处理 500 张以上的照片
  • 选择标准 — 找到重复照片时,选取文件最大(画质最高)的照片作为代表

评论

支持 Markdown