从0开始学图像修复,FFT NPainting LAMA手把手教学来了
图像修复不是魔法,但用对工具,它真的能让你像拥有魔法一样——删掉照片里乱入的电线、抹去老照片上的划痕、去掉截图里的水印、甚至把合影中不想要的人“悄悄请走”。今天要讲的这套系统,不靠Photoshop的复杂图层和蒙版,也不需要你懂深度学习原理,只需要会用画笔涂几下,就能得到自然、连贯、细节丰富的修复结果。
它就是:FFT NPainting LAMA图像修复系统。这不是一个云端API,也不是需要配环境、装依赖、调参数的命令行工具,而是一个开箱即用、界面清晰、操作直觉的WebUI应用——由开发者“科哥”基于LAMA模型二次开发构建,融合了频域修复(FFT)与空间域重绘(NPainting)双路能力,专为实用场景打磨。
这篇文章不讲论文、不推公式、不堆术语。我们只做一件事:带你从零开始,真正用起来,修出第一张让人眼前一亮的图。无论你是设计师、运营、摄影师,还是刚接触AI图像处理的小白,只要你会上传图片、会拖鼠标画几笔,就能上手。
1. 先搞清楚:它到底能帮你做什么?
别被“FFT”“LAMA”这些词吓住。它们只是背后的技术代号,对你来说,真正重要的是——它解决了哪些你每天都会遇到的麻烦事?
1.1 它不是“一键美颜”,而是“精准擦除+智能重建”
很多AI修图工具要么太粗暴(一键模糊背景),要么太笼统(自动识别“人”就删),而本系统的核心逻辑是:你指哪,它修哪;你标多细,它补多真。
- 你用画笔圈出水印 → 它分析周围纹理、颜色、结构,生成无缝填充
- 你涂抹掉路人甲 → 它理解地面材质、光影方向、景深关系,还原出“本来就在那儿”的背景
- 你擦掉老照片的裂痕 → 它保留原有颗粒感与色调,不做成塑料感新图
这不是“覆盖”,而是“重建”;不是“糊弄”,而是“理解”。
1.2 它为什么比普通inpainting更稳?
关键在“FFT”二字。传统图像修复主要在像素空间(RGB)操作,容易出现色块、模糊、边缘生硬等问题。而本系统引入快速傅里叶变换(FFT)预处理,先将图像转换到频域,强化纹理结构信息、抑制噪声干扰,再结合LAMA的高分辨率生成能力进行空间重绘。简单说:
- 普通修复:看“这块颜色像什么” → 填个差不多的色块
- FFT+LAMA修复:看“这块的线条走向、重复频率、明暗节奏是什么” → 还原出符合物理规律的结构
所以你会发现:修完的电线消失处,砖缝依然对齐;删掉的广告牌位置,墙面反光依旧自然;移除的杂物边缘,没有一圈发虚的“毛边”。
1.3 它不挑人,也不挑图
- 不需要你懂Python或CUDA:全程网页操作,浏览器打开就能用
- 不卡配置:服务端已预装全部依赖(PyTorch、OpenCV、LAMA模型等),无需你编译安装
- 支持常见格式:PNG、JPG、JPEG、WEBP,上传即用
- 对中文友好:界面全中文,微信可直接联系开发者答疑
一句话总结:它把专业级图像修复能力,封装成了一支画笔。
2. 三分钟启动:服务跑起来,界面亮出来
别担心“部署”这个词。这里没有Docker命令、没有conda环境、没有requirements.txt报错。整个过程只需两步,终端敲两行命令。
2.1 启动服务(仅需一次)
登录你的Linux服务器(支持Ubuntu/CentOS/Debian),执行以下命令:
cd /root/cv_fft_inpainting_lama bash start_app.sh看到如下提示,说明服务已成功运行:
===================================== ✓ WebUI已启动 访问地址: http://0.0.0.0:7860 本地访问: http://127.0.0.1:7860 按 Ctrl+C 停止服务 =====================================小贴士:如果你是在云服务器上运行,记得在安全组中放行端口
7860;若本地测试,直接访问http://127.0.0.1:7860即可。
2.2 打开界面:就像打开一个网页
在任意浏览器中输入地址:http://你的服务器IP:7860(如http://192.168.1.100:7860或http://127.0.0.1:7860)
你会看到一个干净、直观的界面,顶部写着“ 图像修复系统”,左半边是编辑区,右半边是结果预览区——没有菜单栏迷宫,没有设置弹窗轰炸,只有最核心的四个动作:上传、画、擦、修。
3. 四步实操:修一张图,从上传到保存
我们用一张真实场景来练手:去除电商商品图中的参考线水印(常见于拍摄样张时辅助构图的红色十字线)。
3.1 第一步:上传图像(3种方式任选)
- 点击上传:点击左侧大方框,选择本地图片文件
- 拖拽上传:直接把图片文件拖进方框内(支持多图,但一次只处理一张)
- 粘贴上传:截图后按
Ctrl+V,图像自动载入(超适合快速处理聊天截图、网页截屏)
支持格式:PNG(推荐,无损)、JPG/JPEG(通用)、WEBP(现代格式)
建议尺寸:单边不超过2000像素(太大影响响应速度,后续可裁剪再传)
3.2 第二步:标注修复区域(关键!画得准,修得真)
这是整个流程中唯一需要你动手判断的环节。系统不会猜你要修哪里,它只忠实执行你画出的“白色区域”。
- 点击工具栏的画笔图标(默认已激活)
- 调整右上角的画笔大小滑块:
- 小画笔(10–30px):修文字、小水印、人像瑕疵
- 中画笔(50–100px):修LOGO、电线、小物件
- 大画笔(150px+):修大面积遮挡、背景替换
- 在水印线上涂抹白色:确保完全覆盖红线,可略向外延展2–3像素(系统会自动羽化过渡)
- 如涂过头?点橡皮擦图标,轻轻擦掉多余部分
实战技巧:对于细长水印(如十字线),建议用小画笔沿线条“描边”,比大块涂抹更精准;若水印半透明,可涂两遍增强mask强度。
3.3 第三步:点击修复(等待几秒,见证变化)
点击醒目的 ** 开始修复** 按钮。
界面上方状态栏会实时显示进度:
初始化...→ 加载模型权重(首次运行稍慢,后续极快)执行推理...→ FFT预处理 + LAMA生成(通常5–25秒,取决于图大小)完成!已保存至: /root/cv_fft_inpainting_lama/outputs/outputs_20240520143022.png
右侧立刻显示修复后的完整图像——注意观察原水印位置:线条消失,但砖墙纹理连续、阴影方向一致、明暗过渡自然。
3.4 第四步:查看与保存(结果就在你手边)
- 结果预览:右侧大图即最终效果,支持缩放查看细节
- 保存路径:状态栏已明确写出,如
/root/cv_fft_inpainting_lama/outputs/outputs_20240520143022.png - 下载方式:
- 通过FTP/SFTP连接服务器,进入该目录下载
- 或使用宝塔面板、Cpolar内网穿透等工具,将
outputs/目录映射为网页可访问路径
- 重试快捷键:点 ** 清除**,一切归零,重新上传、重画、重修
验证效果小方法:把修复前后两张图并排打开,快速切换查看——真正的修复,是“看不出修过”。
4. 进阶用法:让修复效果更上一层楼
基础操作能解决80%需求,但遇到复杂场景,掌握这几个技巧,能让效果从“还行”跃升到“惊艳”。
4.1 边缘痕迹?扩大标注,交给系统羽化
有时修复后边缘有一圈轻微色差或模糊。这不是模型不行,而是标注太“紧”。正确做法是:
- 用橡皮擦清理掉紧贴边缘的白色
- 切换回画笔,向外扩展2–5像素再涂一遍
- 系统内置的边缘优化模块会自动融合过渡,比手动羽化更自然
4.2 大面积物体?分区域多次修复
比如要删掉一张风景照中的整辆汽车:
- 先画出车窗区域 → 修复 → 下载中间结果
- 再上传这张已修复的图 → 画出车身 → 修复
- 最后画出车轮 → 修复
分步操作,避免一次性覆盖过大区域导致结构失真,也便于逐次调整。
4.3 多人物合影?局部精修不伤整体
想删掉合照中某位朋友,又怕背景草地/天空被带偏?
- 用小画笔只涂人脸轮廓+肩膀(避开衣领、头发边缘)
- 修复后,若发际线衔接生硬,再上传结果图 → 用更小画笔(10px)微调发丝边缘
- 系统对局部高频细节(如发丝、睫毛)有专门优化,越精细标注,越能激发细节还原力
4.4 保持风格统一?用同一张图反复迭代
所有修复都基于原始图像的统计特征(颜色分布、纹理频谱)。因此:
- 第一次修复后,不要急着导出最终图
- 直接点击 ** 清除**,再上传刚生成的
outputs_xxx.png - 继续标注下一个待修复区域
这样能确保整张图的色调、对比度、噪点水平高度一致,避免“拼接感”。
5. 真实场景对照:它在这些地方真的省时间
理论不如案例直观。以下是开发者实测的4类高频需求,附效果说明与耗时参考:
| 场景 | 操作要点 | 效果亮点 | 平均耗时 |
|---|---|---|---|
| 去除截图水印(如公众号二维码、平台LOGO) | 用中画笔完整覆盖水印,略扩边 | 水印消失,底图文字/表格无扭曲,线条锐利 | 8–12秒(1080p图) |
| 移除照片路人(街拍、旅游照) | 标注全身轮廓,注意头发与背景交界处 | 背景建筑/树木自然延续,光影方向一致,无塑料感 | 15–22秒(1200x1800) |
| 修复老照片划痕(扫描件) | 小画笔沿划痕描线,宽度≈划痕2倍 | 划痕消失,原图胶片颗粒感保留,不显“AI平滑” | 6–10秒(800x1000) |
| 删除PPT截图中的批注框 | 涂满框体+箭头,避开正文文字 | 框体消失,文字行距不变,底色均匀无色块 | 5–8秒(1920x1080) |
注意:所有测试均在单卡RTX 3060(12G)环境下完成。CPU用户可能延长30–50%,但功能完全一致。
6. 常见问题速查:遇到卡点,30秒找到答案
不用翻文档、不用搜论坛,这里整理了新手最常问的6个问题,答案直接给你:
Q1:修复后颜色偏灰/发亮,怎么办?
A:确保上传的是标准RGB图像(非CMYK或带ICC配置文件)。若仍异常,尝试用画图工具另存为PNG后再传。
Q2:画笔没反应?鼠标点不动?
A:检查是否误点了“橡皮擦”或“裁剪”工具;确认浏览器未开启“禁止JS”;推荐Chrome/Firefox最新版。
Q3:修复后出现奇怪色块或马赛克?
A:大概率是标注区域有断点或未闭合。放大检查mask是否连成一片白色;用橡皮擦清理碎点,再重涂。
Q4:大图上传失败或卡在“初始化”?
A:压缩图像至单边≤2000px(可用https://squoosh.app免费压缩);或检查服务器内存是否充足(建议≥8GB)。
Q5:找不到输出文件?路径对不上?
A:绝对路径固定为/root/cv_fft_inpainting_lama/outputs/,文件名含时间戳(如outputs_20240520143022.png),可通过ls -lt /root/cv_fft_inpainting_lama/outputs/查看最新文件。
Q6:想改界面文字/加自己Logo?
A:本系统开源可二次开发。核心前端代码在/root/cv_fft_inpainting_lama/webui/,修改index.html即可;如需协助,微信联系科哥(312088415)。
7. 总结:图像修复,本该如此简单
回顾这一路:
- 我们没写一行Python,却跑起了LAMA模型;
- 我们没调一个超参,却用上了FFT频域增强;
- 我们只涂了几笔白色,就让一张带水印的商品图变得干净专业。
这正是AI工具该有的样子——技术隐身,体验显形。它不炫耀算力,不强调架构,只专注解决你眼前那个具体的、烦人的、耽误工期的小问题。
你现在完全可以关掉这篇教程,打开浏览器,上传一张最近让你头疼的图,用画笔圈出它,点下“ 开始修复”。5秒钟后,你会看到:问题消失了,而你,已经掌握了这项能力。
图像修复没有门槛,只有开始。而你的第一次修复,就从现在开始。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。