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 图像修复工具,能把照片里的水印、路人、文字等不想要的东西抹掉,还能用 Stable Diffusion 替换或扩展画面。适合想清理图片的普通用户,也适合需要批量处理图像的开发者。
快速上手 🚀
三步安装并启动
需要 Python 3.8+,直接 pip 安装:
pip3 install iopaint iopaint start --model=lama --device=cpu --port=8080首次启动会自动下载 LaMa 模型(约几十 MB),下完即可在浏览器打开 http://localhost:8080 开始用。网页端界面是 React 写的,源码在 web_app/src/,有兴趣可以翻翻它怎么把画笔、预览、参数面板拼起来的。有 NVIDIA 显卡的话把--device=cpu换成--device=cuda,扩散模型的速度会快很多。
看到第一个效果:抹掉图片水印
上传一张照片,用画笔刷住水印区域,点生成,几秒后蒙版位置就被自然地填上了。不用会 PS,也不用理解什么扩散模型,"刷一下、等几秒"就是全部操作。
核心使用场景
一张命令去掉照片水印
照片上铺满水印没法直接使用时,是最典型的场景。网页端刷选后生成即可;如果你已经有蒙版图,还可以完全跳过界面,用命令行批量处理,后文"进阶玩法"有现成命令。
像这样水印密集的图,用默认的 lama 模型刷一下,水印区域会被周围内容补全,人物细节基本不受影响。
漫画和截图的文字擦除
漫画页面上方盖着标题文字、游戏封面被文字压住画面时,同样可以处理。刷选文字区域,选manga或ldm这类修复模型生成。文字下方的线条、画面会被推断补全,比手动仿制图章快得多。
去掉背景里的路人
街拍里站着一个不想留的行人?刷住行人让模型补出干净背景即可,效果取决于遮挡面积:遮挡越小,补出来的地面、墙面越自然。
功能选择
模型分两大类:擦除类(专门做删除,快)和扩散类(基于 Stable Diffusion,能"替换"和"扩图",慢但自由)。按任务对号入座:
| 你的任务 | 建议模型 | 说明 |
|---|---|---|
| 日常去水印、去杂物 | lama(默认) | CPU 上也能跑,速度最快 |
| 复杂背景的精细擦除 | mat/fcf/zits | 质量更高,速度略慢 |
| 文字、漫画修复 | manga/ldm | 对文字场景有针对性优化 |
| 替换物体、按提示词生成 | runwayml/stable-diffusion-inpainting | 写 prompt 让蒙版区生成指定内容 |
| 修复 + 向外扩图 | powerpaint/brushnet | 支持 outpainting,能把画面边界扩展出去 |
| 往图里写准文字 | anytext | 专门优化文字渲染的扩散模型 |
| 不会刷蒙版 | Segment Anything 插件 | 点一下物体自动生成蒙版 |
内置擦除模型共 8 个(lama、ldm、zits、mat、fcf、manga、cv2、migan),源码都在 model/ 目录;除主体修复外,plugins/ 下还有一组辅助插件:RemoveBG 抠图、Anime Seg 动漫分割、RealESRGAN 超分、GFPGAN 和 RestoreFormer 人脸修复,适合做"擦除 + 放大 + 修脸"的连招。
进阶玩法
批量自动化:iopaint run可以一次处理整个文件夹,--mask传文件夹时按同名匹配蒙版,传单个文件时所有图共用同一张蒙版:
iopaint run --model=lama --device=cpu \ --image=inputs \ --mask=masks \ --output=results \ --concat # 可选:原图+蒙版+结果拼成一张对比图API 集成:服务本质是 FastAPI 应用,启动后可以直接 POST/api/v1/inpaint,传 base64 编码的图片和蒙版,返回修复后的图片字节,另外还有/api/v1/model(切换模型)、/api/v1/run_plugin_gen_mask(插件生成蒙版)等接口,接进自己的图片流水线只需几十行代码。
部署方式
- 本地 pip 安装:最省事,适合个人使用,CPU、GPU、Apple Silicon 都支持。
- Docker 部署:适合固定环境、团队共用。clone 仓库后用仓库里现成的镜像文件构建:
git clone https://gitcode.com/GitHub_Trending/io/IOPaint cd IOPaint docker build -f docker/CPUDockerfile -t iopaint .GPU 环境把-f换成docker/GPUDockerfile即可,两个文件都在 docker/ 目录。构建完docker run -it -p 8080:8080 iopaint bash进入容器,再执行iopaint start --model=lama --device=cpu就通了。
常见坑与技巧 ⚠️
- 扩散模型出图全黑或发绿:加
--no-half用全精度(fp32)跑,这是部分显卡半精度不稳导致的。 - GPU 显存不足直接崩溃:加
--low-mem开启 attention slicing 和 VAE tiling;还差就再加--cpu-offload把权重挪到内存,牺牲一点速度换能跑完。 - 首次启动卡很久:不是卡死,是在下模型。可以用
iopaint download命令预下载,或用--model-dir指定模型目录方便管理。 - 批量处理报 mask 不匹配:
iopaint run会自动把蒙版缩放到原图尺寸,但 API 调用要求两者尺寸严格一致,自己调接口时先对齐分辨率。 - CPU 上跑扩散模型慢到怀疑人生:正常现象,CPU 用户优先用 lama 这类擦除模型,扩散模型留给 GPU 或 HuggingFace Spaces 在线版。
IOPaint 覆盖了"擦除、替换、扩图、修脸、超分"整条链路,日常清图用 lama 就够,需要创意编辑再切扩散模型。装好后建议先用自带资产里的样图(assets/下有水印、路人、文字等测试图)把三种模型各试一遍,再上手自己的图。完整模型列表和文档以 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考