IOPaint 完整指南:本地免费 AI 图片修复与去水印
【免费下载链接】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:这是一个免费开源的 AI 图片修复工具,在网页里涂掉不需要的区域,就能移除水印、人物、物体,还能替换或扩展画面内容。下面带你过一遍安装、用法和真正用得上的参数。
📍 项目定位
IOPaint 干的事很单一:本地图片修复(inpainting,把涂抹区域重新填上合理内容)和外扩(outpainting,把画面边界画出去)。它替代的是"在线擦除网站 + Photoshop 修补工具"的组合,技术路线是把主流 AI 模型全部搬到本地跑——擦除用 LaMa(一个纯删除模型,快且无需提示词),替换与生成用 PowerPaint V2、BrushNet、AnyText 等基于 Stable Diffusion 的模型,同一个界面里随时切换。擦除不够用时,还可以在涂抹区输入提示词换成新内容。
| 对比维度 | 传统方案 | IOPaint 方案 |
|---|---|---|
| 图片数据流向 | 上传到第三方在线工具 | 全本地处理,图片不出机器 |
| 上手门槛 | 会 Photoshop 或付费设计服务 | 装好即开,鼠标涂抹即生成 |
| 硬件门槛 | 建议高端工作站 | 4 核 CPU 可跑,NVIDIA GPU 更快 |
| 费用 | 月费/年费订阅 | 免费开源 |
搞清楚它替代了什么之后,下一步就是装上它、跑出第一个结果。
🚀 从 0 到第一个结果
先用 pip 安装;如果打算改代码,先git clone https://gitcode.com/GitHub_Trending/io/IOPaint,进仓库执行pip install -r requirements.txt,再用python main.py start启动。装好后一条命令即可拉起 Web 服务,首次运行会自动下载默认 LaMa 模型,下载慢时可以先单独执行iopaint download lama预热。
pip3 install iopaint iopaint start --model=lama --device=cpu --port=8080服务起来后浏览器打开 http://localhost:8080,上传一张带水印的图,用画笔把水印整个涂掉,左侧模型保持 "lama",点生成,几秒就能拿到一张水印消失的结果。有 NVIDIA 显卡的话,先装 CUDA 版 PyTorch,再把--device改成cuda即可提速。
第一张图跑通后,再来看常见任务怎么做。
🛠️ 核心能力拆解
IOPaint 去水印:如何移除图片上的文字与水印
LaMa 不依赖提示词、单张秒级出图,是水印、划痕、小段文字的首选。
先上传图片,用画笔把水印涂满,涂抹范围比水印本身大 2~3 个像素;接着左侧模型选 "lama",把边缘模糊设为 2;最后点生成,如果边缘还有白边残留,把边缘模糊调到 4 再跑一次。
关键参数:小水印边缘模糊设 2 就够,复杂背景上的大段文字提到 4。
IOPaint 图片修复:如何擦除背景人物与物体
较大的人物和物体 LaMa 大多能处理;需要背景生成更合理结构时,换 PowerPaint V2 扩散模型。
先把要移除的物体整块涂掉;接着模型切到 power_paint_v2,提示词栏写一句背景描述,例如 "gallery interior";最后采样步数设 25、引导强度设 7.5 生成,再放大检查地面和墙面细节是否连贯。
关键参数:步数 25、强度 7.5 是稳定起点,细节发糊时把步数提到 30。
批量跑图:IOPaint 命令行命令怎么写
命令行iopaint run可以整文件夹处理:--image传图片文件夹,--mask传同名掩码文件夹(黑白图,白色是要修的区域),传单个掩码文件则所有图共用它。
先把原图放进图片文件夹、掩码放进掩码文件夹,保证文件名一一对应;接着执行iopaint run --model=lama --device=cpu --image=imgs --mask=masks --output=out;最后到 out/ 目录检查结果,加--concat还能输出原图+掩码+结果的对照图,方便整批抽查。
| 场景 | 推荐设置 | 备注 |
|---|---|---|
| 简单小水印 | lama,边缘模糊 2 | 最快,秒级出图 |
| 人物/大物体 | power_paint_v2,步数 25,强度 7.5 | 结构生成更自然 |
| 毛发/织物背景 | brushnet,步数 30 | 纹理细节更好 |
| 文字替换或新增 | anytext | 可在掩码区写入新文字 |
模型选对之后,接下来是跑起来一定会碰到的几个坑。
⚠️ 踩坑与排错
首次启动模型下载失败现象:服务启动卡很久最后报错退出。原因:模型源网络不稳,下载中途断了。解法:先单独执行iopaint download lama把模型下完,必要时用--model-dir换个下载目录。
GPU 显存不足崩溃现象:切到 cuda 后报 out of memory。原因:扩散模型体量装不进显存。解法:加--low_mem让模型分片加载,再不够就退回--device=cpu。
修复边界有明显接缝现象:边缘留着一圈原物体轮廓。原因:涂抹掩码没盖住目标边缘。解法:涂抹范围再放大约 2~3 像素,同时把边缘模糊提到 4。
批量输出缺文件现象:批量跑完输出目录少了几张。原因:掩码文件名和图片文件名对不上。解法:核对两个文件夹文件名是否逐一对应;单个掩码文件则全批次共用,无需同名。
坑都绕开之后,看看你的硬件到底够不够用。
⚙️ 硬件与效率
| 配置档位 | 预期速度 | 适合谁 |
|---|---|---|
| 4 核 CPU + 8GB 内存 | 约 30~60 秒/张 | 轻度使用、小图 |
| GTX 1060 6GB | 约 10~20 秒/张 | 日常单张修复 |
| RTX 3060 12GB | 约 5~10 秒/张 | 批量处理 |
| Apple M1/M2 | 约 8~15 秒/张 | Mac 用户 |
- 显存低于 4GB 就加 --low_mem
- 批量前先压到 2000px 以内
- 简单擦除选 LaMa,要替换才上扩散模型
环境稳定下来,可以顺手看看仓库里几个值得留意的目录。
🔗 延伸与资源
- iopaint/model/:LaMa、PowerPaint、AnyText、BrushNet 等模型实现
- iopaint/plugins/:交互式分割、抠背景、人脸修复等插件实现
- iopaint/batch_processing.py:批量处理核心逻辑,适合二次开发
插件生态支持 SAM 交互式分割、RemoveBG 抠背景、GFPGAN 人脸修复,启动时加对应开关即可启用。
回到开头那批带水印的产品图:先把上面的命令跑通,涂一张图生成出结果,满意后直接用批量命令把整个文件夹排进去,一天的修图量一个下午就清完了。
【免费下载链接】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),仅供参考