用FFT NPainting LAMA做了个去文字项目,全过程分享
1. 为什么选这个工具做文字去除?——不是所有修复模型都适合“去字”
你有没有遇到过这样的场景:一张精心设计的海报上,临时加的活动文案需要撤掉;一份扫描的合同里,手写的批注要清理干净;或者截屏的App界面,想把顶部状态栏文字抹掉再发到社交平台?这时候,你试过PS的“内容识别填充”,也点过各种AI修图App的“智能擦除”,但结果常常是:要么边缘生硬像贴了块补丁,要么周围纹理被带偏,甚至把旁边不该动的logo也“顺手修复”了。
我试过七八个开源图像修复方案,直到遇到这个由科哥二次开发的FFT NPainting LAMA镜像,才真正觉得:“对,就是它。”
它不是靠简单模糊或复制粘贴来糊弄,而是用一种更“懂图”的方式工作——底层融合了频域处理(FFT)与LAMA先进修复网络的双重能力。简单说:
- FFT部分让它能看清图像的“结构骨架”(比如文字边缘的高频突变、笔画走向),不把文字当普通色块,而是当成需要精准剥离的干扰信号;
- NPainting + LAMA部分则负责在保留原始材质、光影、纹理的前提下,用上下文智能“编织”出自然过渡的背景。
这不是“删掉再填满”,而是“先听懂这张图在说什么,再悄悄把那句话抹掉,还不让别人发现它曾存在过”。
所以这次,我不讲原理推导,也不堆参数配置。就带你从零开始,用一台普通服务器(甚至本地笔记本),完整走一遍:上传一张带文字的图 → 圈出文字区域 → 点一下 → 得到一张干干净净、毫无PS痕迹的图。全程不用写一行代码,但每一步我都告诉你“为什么这么操作”“哪里容易踩坑”“效果不好时怎么救”。
2. 三分钟启动:WebUI服务跑起来就能用
别被“FFT”“LAMA”这些词吓住——这个镜像最大的优点,就是把复杂技术全封装进了图形界面。你不需要装Python环境、不用配CUDA、更不用下载几十GB模型。它已经打包好,开箱即用。
2.1 启动服务(真的只要30秒)
登录你的Linux服务器(Ubuntu/CentOS均可),执行这两条命令:
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已被占用),只需编辑
start_app.sh文件,把--port 7860改成--port 7861或其他空闲端口,再运行即可。
2.2 打开浏览器,进入界面
在你自己的电脑浏览器里,输入:http://你的服务器IP:7860
(例如:http://192.168.1.100:7860或http://47.98.xxx.xxx:7860)
你会看到一个清爽的界面,左边是画布,右边是结果预览区,顶部写着“ 图像修复系统”,右下角还有一行小字:“webUI二次开发 by 科哥 | 微信:312088415”。
这就是你的文字清除工作室,现在,我们正式开工。
3. 实战演示:一张会议纪要截图,如何干净去掉所有手写批注?
我拿一张真实的会议纪要截图来演示(为保护隐私,已做模糊处理,但文字结构、字体、背景纸张质感完全保留)。这张图上有三处关键文字需要去除:
- 左上角红色手写“待确认”
- 中间段落旁蓝色圆圈+箭头批注
- 右下角黑色签字栏里的“张经理”签名
3.1 第一步:上传图片(三种方式,总有一种顺手)
点击左侧大大的上传区域,或直接把图片文件拖进去,或复制截图后按Ctrl+V粘贴——三者任选其一。
支持格式:PNG(推荐)、JPG、JPEG、WEBP
注意:PNG能保留透明通道和无损细节,对文字边缘修复更友好;JPG因有压缩,有时会把细小笔画“吃掉”,导致标注困难。
上传后,图片自动居中显示在左侧画布上,清晰锐利。
3.2 第二步:精准标注——不是“涂满”,而是“框准”
这是整个流程中最关键、也最容易翻车的一步。很多人修复失败,90%是因为这一步没做好。
核心原则:白色标注 = 你要它“消失”的区域。系统只修复你涂白的地方,其余部分原封不动。
我们分区域操作:
3.2.1 处理左上角“待确认”红字
- 点击工具栏的画笔图标(默认已激活)
- 拖动下方“画笔大小”滑块,调到中等偏小(约30–50px)
- 用画笔沿着红字外缘轻轻描一圈,不要求100%贴合,但确保:
红字全部被白色覆盖
白色不溢出到旁边空白区域(避免误伤背景)
❌ 别用超大画笔“唰”一下全涂——那样系统会以为整片区域都要重绘,结果可能把旁边表格线也“修复”没了
3.2.2 处理蓝色批注(圆圈+箭头)
- 这类带形状的批注,建议分两笔:
① 先用小画笔(20px左右)描圆圈内侧边缘,把圆圈本身涂白;
② 再用稍大画笔(40px)沿箭头轨迹轻扫,覆盖箭头主体; - 如果箭头末端有文字,同样圈住。
技巧:鼠标滚轮可缩放画布(部分浏览器支持),放大后更容易控制笔触。
3.2.3 处理右下角“张经理”签名
- 签名笔画连贯、有飞白,直接涂容易漏。这里用“扩大包围法”:
- 用中等画笔(50px)在签名外围画一个松散的椭圆框,确保所有笔画都在框内;
- 再用小画笔(15px)进到框里,把明显露出来的起笔、收笔处补涂几下。
- 目标:白色区域略大于文字本身,给系统留出羽化过渡空间。
标注完成检查清单:
- 所有目标文字都被白色覆盖(哪怕只漏一个点,那里就不会修复)
- 白色未大面积侵入纯色背景(如大片白底)
- 没有把旁边重要元素(如LOGO、印章、表格线)一起涂白
3.3 第三步:点击“ 开始修复”,然后——等
点击那个醒目的蓝色按钮。界面上方的状态栏会立刻变成:初始化... → 执行推理... → 完成!已保存至: /root/cv_fft_inpainting_lama/outputs/outputs_20240520143022.png
整个过程,我的测试图(1200×800 PNG)耗时12秒。
右侧结果区同步刷新,一张崭新的图出现:红字、蓝圈、黑签名全部不见,取而代之的是与周围纸张纹理、阴影、底色完全一致的“空气”——没有模糊、没有色差、没有拼接感。
4. 效果对比与细节放大:为什么它看起来“不像修过”?
光说“效果好”太虚。我们拉几个局部,放大看真实表现:
| 区域 | 原图特征 | 修复后效果 | 关键观察点 |
|---|---|---|---|
| 红字“待确认”边缘 | 红色墨水在灰纸背景上,有轻微晕染 | 边缘过渡自然,纸张纤维纹理延续,无色块感 | FFT模块精准识别了“红色高频突变”,只干预该频段,不扰动低频的纸纹 |
| 蓝色箭头路径 | 箭头穿过一段横线,横线本应保持连续 | 横线在箭头位置无缝衔接,粗细、角度完全一致 | LAMA网络理解了“线条连续性”这一语义,不是简单复制周边,而是生成逻辑连贯的延伸 |
| “张经理”签名处 | 签名压在浅灰色格子线上,格线需保持完整 | 格线穿过原签名位置,平直、均匀、无断点 | 系统自动识别并保留了背景中的规则结构,证明其具备基础几何理解力 |
再看整体观感:
- 色彩统一:修复区与原图色温、明暗完全一致,无“补丁感”
- 纹理匹配:纸张的细微噪点、扫描留下的颗粒感,全部自然延续
- 结构保真:表格线、段落边距、页眉页脚等非文字元素,0干扰
这背后,是FFT提供的频域鲁棒性 + LAMA的语义级生成能力的结合。它不追求“最炫酷”,而追求“最不被察觉”。
5. 遇到问题怎么办?四个高频问题的真实解法
即使操作很傻瓜,实际用时仍可能卡住。以下是我在真实项目中踩过的坑,附带亲测有效的解法:
5.1 问题:修复后文字残留,像“鬼影”一样半透明
原因:标注太薄,或文字本身半透明(如PDF导出图、带图层的PSD)
解法:
- 不要重画,直接点“ 清除”按钮清空当前标注;
- 重新上传同一张图;
- 这次用稍大一号的画笔,在原文字区域涂两遍(第一遍打底,第二遍加厚),确保白色完全不透底;
- 再次修复。90%的情况一次解决。
5.2 问题:修复区域周围出现奇怪色边(比如一圈浅黄)
原因:标注紧贴文字边缘,系统羽化时把邻近像素的色偏也带进来了
解法:
- 清除标注,重新上传;
- 刻意把白色涂出文字边界2–3像素(就像给文字画个“呼吸区”);
- 让系统有足够缓冲空间做平滑过渡。实测比“严丝合缝”效果好得多。
5.3 问题:大图(>2000px)修复极慢,甚至报错内存不足
原因:显存吃紧,LAMA模型对高分辨率敏感
解法:
- 不降质,只降尺寸:用系统自带的“裁剪”工具(界面右上角图标),把图切成2–3块分别修复;
- 修复完后,用任意图片工具(甚至Windows画图)拼回去——因为每块修复都独立保真,拼接处几乎看不出接缝;
- 或上传前用在线工具(如TinyPNG)将图压缩到1800px宽,质量损失微乎其微,处理速度提升3倍。
5.4 问题:修复后整块区域变模糊,像打了马赛克
原因:误用了“橡皮擦”擦掉了太多标注,导致系统判定“修复区域太小”,转而用保守的模糊填充策略
解法:
- 立刻点“撤销”(或
Ctrl+Z); - 如果已无法撤销,就点“清除”,重新标注;
- 牢记口诀:宁可多涂,不可少涂;宁可涂宽,不可涂窄。
6. 进阶技巧:批量处理、多轮精修与风格锁定
当你熟悉基础操作后,这几个技巧能让效率翻倍:
6.1 批量去文字:用“分层修复”代替单次大范围
面对一页PPT上12处标注,别想着一次全涂。试试:
- 先只涂左上角3处,修复 → 下载
output_1.png; - 上传
output_1.png,再涂中间4处,修复 → 下载output_2.png; - 上传
output_2.png,涂剩余5处,修复。
优势:每次修复区域小,速度快;单次失败不影响全局;可随时回退到上一版。
6.2 多轮精修:对付顽固残留字迹
有些印刷体小字(如页脚版权信息),一次修复可能留白边。这时:
- 修复后,不下载,直接在结果图上继续操作;
- 放大到200%,用最小画笔(10px)精准点掉残留白点;
- 再点“ 开始修复”——系统会基于上一轮结果做二次优化,往往一击必杀。
6.3 风格锁定:确保多张图修复后色调统一
如果你要处理一个系列图(如10张产品说明书),希望所有修复区颜色一致:
- 先用其中一张图做一次完整修复,得到理想效果;
- 记住这次修复的输出文件名(如
outputs_20240520151033.png); - 后续所有图,都以这张“参考图”为基准,在修复前勾选界面隐藏的“风格参考”选项(需联系科哥开启,微信312088415);
- 系统会自动提取参考图的色彩直方图与纹理特征,强制后续修复向其对齐。
7. 总结:它不是一个“修图工具”,而是一个“文字隐形助手”
回看整个过程,从启动服务到拿到干净图片,我花了不到8分钟。没有命令行、没有报错、没有模型下载等待——只有上传、涂抹、点击、查看。
但它背后的技术并不简单:
- FFT让它能“看见”文字作为高频噪声的本质;
- NPainting提供可控的局部编辑能力;
- LAMA保证生成内容在语义与视觉上的双重合理;
- 科哥的二次开发则把这一切,变成了连实习生都能上手的Web界面。
所以,如果你的需求明确是:
🔹 去掉图片里的文字、水印、签名、临时标注
🔹 要求结果自然、无痕、不伤原图结构
🔹 希望过程简单、稳定、不折腾环境
那么,这个镜像不是“又一个选择”,而是目前我能找到的最省心、最可靠、效果最扎实的落地方案。
它不炫技,不堆参数,不讲大道理。它就安静地待在那里,等你上传一张图,然后,帮你把不想让人看见的东西,彻底、干净、体面地,从画面里请出去。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。