news 2026/9/6 22:45:29

IOPaint 命令行批量去水印:掩码命名对了,几百张图一条命令跑完

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IOPaint 命令行批量去水印:掩码命名对了,几百张图一条命令跑完

IOPaint 命令行批量去水印:掩码命名对了,几百张图一条命令跑完

【免费下载链接】IOPaintImage inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint

两百张商品图,每张右下角都压着同一个水印,点开、涂抹、修复、保存……干到第三十张手就开始抖。换个思路:用 IOPaint 命令行做批量图片处理,一条run命令把整个目录扫一遍,修完自动落盘。把下面几步跟着敲完,你手里就有个能复用的去水印流水线。

先弄懂三个词:模型、掩码、输出

术语一句话解释类比
修复模型真正干活、负责"补画面"的算法不同师傅手艺不同:有人快,有人细
掩码(Mask)一张黑白图,告诉模型"只修白处的像素,黑的别碰"贴美瞳前贴的轮廓膜,圈住哪儿补哪儿
输出修好的文件写到的位置,固定保存为原文件名.png加工完的成品仓

掩码不要求尺寸和原图一致——对不上会自动缩放;灰度也会自动二值化(≥127 算白),不用抠得很精确。

安装并跑通第一条命令

📌 前置条件:Python 3.8 及以上。

git clone https://gitcode.com/GitHub_Trending/io/IOPaint cd IOPaint pip install -r requirements.txt

命令行入口在 iopaint/cli.py,批量调度逻辑在 iopaint/batch_processing.py。敲下面这条最小命令,单张试跑:

python -m iopaint run --model lama --device cpu \ --image assets/watermark.jpg --mask assets/unwant_text.jpg \ --output results/watermark_removed.png --concat

原图(右下角带水印):

--concat会把"原图+掩码+结果"横向拼成一张对照图,方便肉眼验收:

单张能跑,批量就是同一套逻辑的目录版。

批量目录怎么配对:掩码命名规则

⚠️ 最常见的坑:原图和掩码放两个目录,名字对不上就修不了。规则就一条——掩码目录里,文件名(不含扩展名)必须和原图一致,匹配时只看文件名。

photos/ p001.jpg p002.jpg p003.jpg masks/ p001.png p002.png p003.png

命令:

python -m iopaint run --model lama --device cpu \ --image ./photos/ --mask ./masks/ --output ./clean_photos/

两个细节决定你批量跑起来顺不顺:

  • 原图里某张在掩码目录里找不到同名文件,会直接跳过(日志会提示 mask not found),所以别指望"差不多就行";
  • --mask传单个文件时,这张掩码会套用到目录里所有原图。同一批图水印位置相同(比如本例的右下角)时最省事——--image ./photos/ --mask assets/unwant_text.jpg即可,不必给每张图单独配掩码。

人物这类目标每张位置都不同,必须逐张配对掩码,效果类似下面这组:

参数速查表

参数作用取值 / 说明
--model修复模型lamazitsmiganldm等,本地没有会自动下载;实现见 iopaint/model/
--device运行设备cpu/cuda
--image原图文件或目录,支持.png/.jpg/.jpeg
--mask掩码文件或目录;目录时按文件名配对,文件时套用到全部原图
--output输出目录或文件路径;输入是目录时它必须是目录,结果统一为原名.png
--concat拼接对照图原图+掩码+结果横向拼一张

模型怎么选:

模型特点适配场景
lama快、内存占用低大面积纯色修补、批量去水印,CPU 也能跑
zits细节还原更好纹理区域、对画质要求高的修复
migan面向更复杂背景复杂背景区域修复

💡 省显存两点:批跑优先选lama这类轻量模型,扩散类模型显存占用明显更高;推理步数等参数可用--config指定一份 JSON 微调(iopaint/web_config.py 可帮你生成参数配置)。另外 Web 服务端还提供--low-mem--cpu-offload两个开关,显存紧张时值得一看。

跑通之后的三个方向

  1. 配置固化:常用参数写进 JSON,配合--config复用,换批次不用记参数。
  2. 定时任务:用 crontab 定时扫"待处理目录",新图进来自动进流水线。
  3. 掩码不想手绘:Web 端可开交互式分割自动圈区域,见 interactive_seg.py;单张图精细修图也可以直接用 IOPaint 的 Web 界面。

【免费下载链接】IOPaintImage inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 22:41:26

毕马威式财务共享规划方案:五大模块拆解与落地指南

简介:一份聚焦财务共享中心规划与落地的专业PPT,适用于企业财务管理人员、数字化转型咨询顾问及集团管控相关从业者。方案以毕马威咨询方法为主线,系统阐述“智慧财务”系统建设的战略价值、财务共享建设路径与系统详细设计,涵盖共…

作者头像 李华
网站建设 2026/9/6 22:41:11

信息学奥赛C++启蒙:1-86课实战避坑与算法进阶路线

简介:《信息学奥赛一本通编程启蒙 C版》1-86课合集以单个PDF形式呈现,面向零基础C学习者与准备GESP、信息学奥赛的入门选手。内容从第一个C程序、输入输出、整型与浮点型、字符类型,延伸到多分支if、switch、for/while/do-while循环、程序流程…

作者头像 李华
网站建设 2026/9/6 22:39:54

微信小程序课堂互动系统开发实践:云开发签到弹幕测验方案

简介:一份基于微信小程序的课堂互动系统毕业设计资源,面向计算机相关专业毕业生,也可供教育信息化方向的研究者与开发者参考。资源包内共包含一个docx格式的Word文档,大小约2.05MB,文档完整覆盖系统需求分析、技术选型…

作者头像 李华
网站建设 2026/9/6 22:35:11

基于NE555与CD4040的纯逻辑定时控制器设计:从分频计数到继电器驱动

简介:这是一份关于定时控制器逻辑电路设计的课程设计文档,面向电子、自动化等相关专业学生及数字电路爱好者,可帮助读者系统完成带数字电子钟的定时控制器设计任务。文档围绕数字钟单元、定时单元、控制器单元和继电器输出单元展开&#xff0…

作者头像 李华