Image Watermark Remover(去水印)
Overview
专注"去水印"的技能,提供两条互补路径:
- 确定性脚本路径 —
scripts/watermark_remover.py,四种模式:
-region:对指定矩形区域(可多个)做修复,最适合 logo / 文字 / 图章水印。
-mask:按遮罩图(白=去除)做修复,适合不规则水印。
-auto:启发式去除整图半透明浅/深色水印(典型图库水印)。
-detect:仅检测疑似水印区域并返回坐标 + 预览图,不改原图,用于先确认。
修复内核优先用 OpenCV 的cv2.inpaint(Telea/NS);若环境无 OpenCV,
自动降级为纯 numpy 拉普拉斯扩散修复,保证脚本仍可运行(质量略逊)。 - AI 创意路径 —
ImageGen图生图,用于复杂 / 语义级 / 无法框出的水印。
提示词模板见references/techniques.md§3。
判断原则:能框出、能复现 → 脚本;复杂、语义级、脚本搞不定的 → AI。
Workflow
第 1 步:定位水印,选择路径
先和用户确认(或自行观察)水印的样子,再按决策树选路径:
| 水印特征 | 路径 |
|---|---|
| 可框出矩形(logo / 文字 / 图章,位置明确) | 脚本 region(首选) |
| 有 / 能生成遮罩(不规则、笔画型) | 脚本 mask |
| 整图铺一层半透明浅/深叠加(图库水印) | 脚本 auto |
| 说不清位置、或脚本效果差、或边界模糊 | AI ImageGen 图生图 |
若用户没给坐标但能描述(如"右上角淡logo"),先跑 detect 拿建议坐标再 region;
拿不准时先 detect 出预览让用户确认范围,避免误删。
第 2 步:运行脚本(确定性路径)
运行环境用受管 Python。确保依赖(numpy/Pillow 必需,OpenCV 推荐):
PY="C:/Users/Admin/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
"$PY" -m pip install --quiet numpy Pillow opencv-python-headless
(venv 在 Windows 下 pip/python 位于 Scripts/;如未建 venv 先 python -m venv 建好。)
常用命令(脚本路径相对本 skill 的 scripts/ 目录):
# 区域修复:像素坐标 x,y,w,h(可多个 --box);不确定坐标先 detect
python watermark_remover.py region -i in.jpg --box 1200,40,260,80
python watermark_remover.py region -i in.jpg --box-frac 0.8,0.0,0.2,0.1
# 遮罩修复:白色=去除
python watermark_remover.py mask -i in.jpg --mask mask.png
# 启发式自动:整片淡叠加水印
python watermark_remover.py auto -i in.jpg --strength 1.0 --kernel 9
# 检测(不改图):输出坐标 + 预览,确认后再 region
python watermark_remover.py detect -i in.jpg --preview-out detect.jpg
参数要点:--dilate(遮罩膨胀像素,默认4) 让边缘覆盖更完整;--method telea|ns 选修复算法;
--radius 修复半径;auto 的 --strength(0~1.5)/--kernel 调去除强度与背景估计尺度。
完整参数见脚本各子命令 --help。
非破坏性:未指定 --output 时自动输出 <原名>_nowm<ext>,原图不会被覆盖。
第 3 步:AI 路径(复杂水印)
调用 ImageGen 工具,传入原图作为 image 参数,prompt 取
references/techniques.md §3 模板(替换 {目标} 为具体描述)。
提示词要具体:说明删什么、保留什么、目标真实度。AI 结果不可复现,保留原图对比。
第 4 步:交付与说明
- 用
present_files展示结果图;若先做detect预览,一并展示让用户对比范围。 - 脚本与 AI 串联时(如先
region修局部、再 AI 修整体),说明每阶段产物路径。 - 若
auto/detect提示缺 OpenCV,说明可选装 OpenCV 提升质量,或改用region/AI。 - 任何破坏性操作前,优先
detect确认范围,绝不未经确认大范围改动。
Resources
scripts/
watermark_remover.py— 去水印 CLI(region/mask/auto/detect),OpenCV 优先 + numpy 兜底。
references/
techniques.md— 四手段适用场景、参数、AI 提示词模板、决策树与局限。