IOPaint 图片消除教程:从安装到首次成功去水印的 3 个步骤
【免费下载链接】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 图片消除与修复(inpainting)工具:用遮罩标出要抹掉的位置,它就能把水印、杂物或文字填平并自然融合进背景。本文面向没有设计软件基础、只想快速清理照片的用户,全程只需几条命令行,配合浏览器里的画笔即可完成。
🧹 IOPaint 能解决哪些事
IOPaint 把多个修复模型封装进同一套服务里,擦除核心逻辑见 lama.py,命令行批量处理和网页版画笔编辑器两种用法共用同一批模型。最典型的三种用途:
- 抹掉水印、文字或入镜的小物体,由模型自动补全背景
- 按“同名匹配”批量清理成百张图,遮罩文件夹一次拖进去即可
- 动漫、漫画类图片切到专门的 anime-lama 模型,线条保真更好
从零基础到第一次成功消除 🖌️
先克隆代码并装好依赖,一共 3 条命令:
git clone https://gitcode.com/GitHub_Trending/io/IOPaint cd IOPaint pip3 install -r requirements.txt再启动 Web 服务,这条命令会在启动后自动打开浏览器:
python main.py start --model lama --device cpu --inbrowser首次启动会自动下载 lama 模型(约 237MB)并缓存到本地,无需手动操作。打开页面后用画笔涂住水印或物体(白色笔触即消除区域),点击右侧生成按钮,清理后的图就会保存到输出目录。如果不想画遮罩,也可以直接跳到下一节的命令行模式。
3 个实战消除场景:水印、杂物、动漫图
1. 去除照片水印:单文件命令
要做什么:去掉照片上的半透明水印,需要准备一张遮罩——黑底白块,白色区域就是要消除的位置,文件名与图片保持一致。
关键命令(run是批处理入口,--concat会额外生成“原图+遮罩+结果”三联对比图,方便验收):
python main.py run \ --model lama \ --image assets/watermark.jpg \ --mask masks/watermark.jpg \ --output results/ --concat true预期效果:水印区域被周围纹理平滑补齐,边缘没有明显痕迹:
小技巧:遮罩涂得比水印略宽一圈,残留边角会少很多,模型对边缘过渡的处理比较稳。
2. 批量清除不想要的物体
要做什么:一次处理整个文件夹,遮罩按同名自动配对,适合电商图、素材库这类批量场景。
关键命令(--image指向目录后,会遍历文件夹内全部图片逐一处理):
python main.py run \ --model lama \ --image ./input_images/ \ --mask ./masks/ \ --output ./results/预期效果:结果以同名 PNG 写入输出目录,进度条实时显示:
小技巧:遮罩不必和原图同尺寸,batch_processing.py 处理前会自动缩放到原图大小。
3. 清理动漫图片:切换专用模型
要做什么:动漫的线条和色块与真实照片差异大,通用模型容易把线稿“抹糊”,这时把模型名换掉即可。
关键命令(只改--model,首次使用会自动下载对应模型):
python main.py run --model anime-lama --image ./images/ --mask ./masks/ --output ./results/预期效果:线条保留更完整,色块过渡更干净:
小技巧:不想等自动下载时,可先执行python main.py download --model anime-lama预取模型。
⚙️ 真正影响体验的几个参数
| 参数 | 作用 | 什么时候用 |
|---|---|---|
--device cuda | 用 GPU 加速推理 | 图片量大、追求速度 |
--concat true | run生成原图+遮罩+结果对比图 | 快速验收消除区域 |
--low-mem | start开启注意力切片与 VAE 分块 | 显存小于 4GB 跑扩散模型 |
--cpu-offload | start将部分权重挪到内存 | 显存紧张、处理大分辨率图 |
--quality 95 | start控制 JPEG 输出质量 | 需要压缩成品文件体积 |
run命令本身参数很少(model / device / image / mask / output / config / concat),完整定义见 cli.py;常用组合也可以用--config指定一个 JSON 文件保存。
🐛 高频问题与解决
问:首次启动卡很久,正常吗?答:在自动下载模型。默认缓存在用户目录的.cache下,可用--model-dir换位置,或用download命令预下载。
问:消除后区域发糊、像贴上去的?答:擦除模型只做“补全”不做“生成”。大面积或复杂纹理区域,请改在 Web 界面里换 Stable Diffusion 或 PowerPaint 等扩散模型重绘。
问:遮罩和原图尺寸不同、或是灰度图?答:都可以,run会自动缩放遮罩,并按 127 亮度阈值把像素二值化,白色部分即消除区。
问:没有显卡能跑吗?答:默认就是--device cpu,lama 模型纯 CPU 可用,只是速度较慢,少量图片问题不大。
IOPaint 适合谁
如果你有照片清理、素材批处理、去水印的日常需求,又不想为单张图片打开重量级软件,IOPaint 用一套模型就能覆盖单张和批量两种场景。
延伸阅读:
- lama.py:lama 与 anime-lama 两个擦除模型的核心实现
- batch_processing.py:批处理与遮罩匹配逻辑
- api.py:HTTP 接口定义,方便接入自己的脚本
【免费下载链接】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),仅供参考