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会自动补全,效果接近无痕。水印、路人、文字,都能直接抹掉。它跑在你自己的机器上,命令行和网页两种用法都支持,完全免费。
🧹 它到底能干什么
这一节帮你先判断 IOPaint 是否匹配你的需求,不用急着装环境。
- 擦除类(默认 lama 模型):抹掉水印、路人、文字、污渍,覆盖"直接删掉就行"的日常场景
- 扩散模型(Stable Diffusion 等):替换物体或向外扩展画面(outpainting),擦除不够用时才需要
- 批量命令行:
--image和--mask指向两个文件夹,就能批量处理整个文件夹 - 网页画图加插件:浏览器里直接涂 mask,还带一键抠背景、交互分割、人脸修复等插件
⚡ 最短路径出第一个结果:把模型装到本地跑通一次
这一节用最短路径带你出第一张擦除图,全程只有3条命令。
先获取代码并装好依赖:
git clone https://gitcode.com/GitHub_Trending/io/IOPaint cd IOPaint pip install -r requirements.txt为什么执行它:把项目装进可用的 Python 环境,后面的python main.py系列命令才跑得起来。
再预下载默认擦除模型:
python main.py download --model lama为什么执行它:模型文件会存进本地缓存,首次启动其实会自动下载,提前跑这一步可以避开卡在半路的情况。
跑通第一次擦除:
python main.py run --model lama \ --image ./input_images/ \ --mask ./masks/ \ --output ./results/为什么执行它:--mask里放与原图同名的灰度图,白色区域就是会被擦掉的部分,结果统一以 PNG 存到--output目录。
✏️ 高频用法:抹掉水印、路人和杂物
挑3个最常见的场景,每个都按"场景→操作→效果"走一遍,配上前后对比图。
抹掉图片水印
场景:图片中间压着大字水印,挡住了主体。 操作:在 mask 上把水印涂成白色,跑上面那条 run 命令。 效果:水印消失,背景纹理自然衔接。
提示:mask 的白色区域比水印本身画宽一点,擦完的边缘不容易露出接缝。
消除照片里的路人
场景:合照或街景里多了个不想要的人。 操作:mask 上圈出人物轮廓,遮挡到背景的边缘也要覆盖。 效果:人消失,身后位置由模型推断补全。
动漫图去杂物
场景:漫画或动画截图里有杂物需要清掉。 操作:改用--model anime-lama,先下载模型再按同样方式运行。 效果:动漫线稿和色块是专项模型训练的,比通用模型擦得更干净。
🎛 按需调优:只记这6个常用参数
跑通之后,你基本只会用到下面这几项,不用背全部参数。
| 参数 | 作用 | 什么时候用 |
|---|---|---|
--device | 选 cpu 或 cuda 计算 | 默认 cpu;有 NVIDIA 卡就切 cuda 提速 |
--model | 选择模型 | 默认 lama;动漫换 anime-lama;换物体选扩散模型 |
--image/--mask/--output | 输入图、mask、输出位置 | 批量时必须是指向文件夹,且同名配对 |
--low-mem | 开启低内存模式 | 扩散模型爆显存时 |
--cpu-offload | 权重卸载到系统内存 | 显存紧张、还差一点跑不动时 |
--concat | 拼一张原图+mask+结果的对比图 | 想快速目检擦除质量时 |
❓ 遇到问题怎么办
3个最容易碰到的问题,附对应排查办法。
模型下载慢或中途断了
lama 模型约 237MB,网络不好容易下到一半失败。重跑下载命令即可,下载完成会校验 md5,确认文件完整:
python main.py download --model lama扩散模型结果整张发黑或发绿
通常是精度问题,不是模型坏了。在start命令里加上--no-half强制全精度运行,一般就能解决。
批量处理时部分图片没输出
--mask指向文件夹时,mask 必须与原图同名,找不到对应 mask 的图会被跳过并在日志里提示;如果想让所有图共用同一张 mask,把--mask直接指向单个文件就行。
先按上面的3条命令跑一次,出图之后再往下看源码也不迟。
- iopaint/api.py:服务端 API 入口,理解请求处理流程
- iopaint/batch_processing.py:批量匹配 mask 和原图的逻辑
- iopaint/model/lama.py:默认擦除模型 lama 的实现
【免费下载链接】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),仅供参考