图片里总有水印和路人?免费开源 AI 修图工具 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
从一张发不出去的照片说起
上个月出门旅行,我在古镇拍了一张很满意的照片——光线正好、构图干净,可回看时发现背景里杵着一个拎着塑料袋的陌生背影。裁掉他吧,构图就废了;不裁吧,这张照片永远没法发朋友圈。
后来处理公司公众号配图,又撞上另一堵墙:网上下载的素材图中央横着一道大大的 stock 水印,用传统软件修补,边缘糊成一片,越修越脏。老漫画扫描件里的对话框、产品图角落里的杂物……这些"只差一点点就能用"的图片,处理起来都特别磨人。
直到我拿到一款叫IOPaint的开源工具。它是一款完全免费、可自行部署的 AI 图片修复工具,基于当前顶尖(SOTA)的图像修复模型,能够把水印、路人、杂物、文字等任何不想要的内容从图片里"擦"干净,也能替换物体甚至扩展画布,而且全程本地运行、无需付费。
一张表格看懂它能干什么
IOPaint 的能力可以分成四个层次,每一层对应一类真实需求:
| 能力 | 它是什么 | 能解决什么问题 |
|---|---|---|
| 智能擦除 | 内置 LaMa、MAT、ZITS、FCF 等多款擦除模型 | 移除水印、瑕疵、路人、杂物,恢复干净画面 |
| 扩散模型重绘 | 支持 Stable Diffusion、SDXL、PowerPaint、AnyText 等 | 替换图片中的物体、按提示词生成新内容 |
| 画布扩展(Outpainting) | 基于扩散模型向四周扩图 | 把构图不够宽的图片补全成完整画面 |
| 插件生态 | Segment Anything、RemoveBG、RealESRGAN、GFPGAN 等 | 精准选区、抠背景、超分辨率、修复人脸 |
| 文件管理 | 内置 FileManager 文件浏览器 | 浏览本地图片,处理结果直接存入输出目录 |
| 批量处理 | 提供命令行run子命令 | 一次处理整个文件夹的图片,适合流水线作业 |
一句话总结:擦除类的活儿交给擦除模型,创造类的活儿交给扩散模型,两者互补,覆盖了绝大多数日常修图场景。
实战演示:五种高频场景,处理前后对比
空口无凭,直接看项目自带的效果图。以下每组图都是"处理前 → 处理后"的对照。
① 去除水印——这是 IOPaint 最出名的看家本领。原图中大面积 "shutterstock" 水印压在人物面部和车身上,处理后水印被完整移除,皮肤和车身纹理几乎看不出修补痕迹:
② 移走杂物——室内照片左侧挂着一个黑色包袋,严重破坏构图。处理后面面恢复简洁,木质天花板和彩灯成为视觉主体:
③ 请走路人——合影背景里那位穿绿衣的女性被精准移除,墙面和地板的纹理过渡自然,前景小女孩成为唯一焦点:
④ 抹掉文字——游戏宣传图上方的金色 "ELDEN RING" 标题被整段去除,下方的发光符文和角色细节完好保留:
⑤ 清理漫画对话框——老漫画里的大量日文对话框被擦除,飞机、螺旋桨和爆炸烟雾等线条细节完整还原,漫画风格保持连贯:
最小上手闭环:三步跑通第一次修复
IOPaint 的上手路径比想象中短得多,全程只需要三条命令:
pip3 install iopaint iopaint start --model=lama --device=cpu --port=8080然后打开浏览器访问http://localhost:8080,就进入了网页版界面。第一次启动时模型会自动下载(想改下载目录就加--model-dir参数)。
实际操作只有三个动作:
- 上传图片,或直接打开 FileManager 浏览本地文件;
- 涂抹标记,用画笔把想去掉的内容盖住;
- 点击处理,几秒后得到修复结果,一键保存到输出目录。
--model=lama是官方推荐的默认起点,它对水印、小物体、文字等场景效果好、速度快,即便只有 CPU 也能跑得动,特别适合新手第一站。
进阶玩法一:命令行批量处理整文件夹图片
如果你手头有成百上千张带水印的图要清理,网页端一张张点显然不现实。IOPaint 提供了批量模式:
iopaint run --model=lama --device=cpu \ --image=/path/to/image_folder \ --mask=/path/to/mask_folder \ --output=output_dir--image指定输入图片文件夹,--mask指定掩码文件夹,掩码文件与图片同名即可自动对应。更省事的是:如果所有图片的干扰位置相同(比如统一位置的水印),--mask直接传一个掩码文件路径,全部图片会共用这一张掩码处理。加--concat参数还能把原图、掩码、结果拼成一张对照图,方便验收效果。
进阶玩法二:插件组合拳,让选区更聪明
手动画掩码对复杂轮廓(比如人物头发、镂空物体)往往力不从心,这时候插件就派上用场了。启动时加上对应开关即可:
iopaint start --enable-interactive-seg --interactive-seg-device=cuda启用后,点击物体任意位置就能得到整个物体的精准掩码,比手工涂抹高效得多。常用的插件搭配还有:
- RemoveBG:一键抠除背景,自动生成前景掩码;
- RealESRGAN:修复完成后做超分辨率,把画质再提一档;
- GFPGAN / RestoreFormer:专门修复人像面部,适合老照片翻新。
注意每个插件都要在启动参数里单独开启,想看完整参数列表,运行iopaint start --help即可。
进阶玩法三:从源码二次开发,定制自己的工具
IOPaint 的前端是标准的 React + Vite 项目,后端是 FastAPI,结构清晰、易于二次开发。想改界面或加功能,可以这样搭建本地开发环境:
git clone https://gitcode.com/GitHub_Trending/io/IOPaint cd web_app npm install npm run dev在web_app目录下创建.env.local文件,写入VITE_BACKEND=http://127.0.0.1:8080指向后端;后端则用python3 main.py start --model lama --port 8080启动。前端改动会热更新,后端 Python 代码改完需要重启服务。核心模型代码集中在iopaint/model/,插件在iopaint/plugins/,想研究 AI 修复原理,这两个目录是绝佳的阅读素材。
新手避坑问答:五个高频疑惑一次说清
Q1:模型下载到哪里?可以改位置吗?模型默认下载到系统缓存目录,启动时加--model-dir /你的路径即可指定。换机器时把这个目录一起拷走,还能省去重复下载。
Q2:只有 CPU 的电脑能用吗?完全能用。擦除模型(如 LaMa)在 CPU 上速度尚可;扩散模型会慢一些,但加了--low-mem或--cpu-offload也能跑起来。Apple Silicon 用户同样受支持。
Q3:扩散模型生成的结果全黑或发绿?这是半精度推理的典型异常,启动参数加上--no-half改用全精度模型通常就能解决。
Q4:显卡显存不够,一跑就爆内存?试试--low-mem(开启注意力切片和 VAE 分块)或--cpu-offload(把模型权重卸载到内存),显存占用会大幅下降。
Q5:想让局域网里的同事也能访问?启动时把--host设为0.0.0.0,同事就能通过你的机器 IP 加端口访问 Web 界面了。
核心要点回顾
- 一句话记住它:IOPaint 是免费开源、可自部署的 AI 图片修复工具,擦水印、清路人、删杂物都能干;
- 上手门槛极低:
pip3 install iopaint加一条启动命令,浏览器里涂一涂就能出结果; - 模型分工明确:擦除类任务用 LaMa 等擦除模型,替换物体、扩展画布用扩散模型;
- 规模化处理不难:命令行批量模式配合共享掩码,一次处理整个文件夹;
- 生态可扩展:插件系统和 React + FastAPI 的源码结构,为深度定制留足了空间。
如果你的相册里也躺着几张"舍不得删又发不出去"的图,不妨装一个 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),仅供参考