ComfyUI全面掌握-知识点详解——Image相关示例:图片修复、超分与风格迁移
知识点详解——Image 相关示例:图片修复、超分与风格迁移
本文为系列第 15 篇,详解 ComfyUI 中与 Image 相关的三大实用方向:图片修复(Inpainting)、超分辨率放大(Upscaling)与风格迁移(Style Transfer / Img2Img)。
目录
- 一、引言:为什么 Image 工作流如此重要?
- 二、图片修复(Inpainting)深入详解
- 三、超分辨率放大(Upscaling)全面指南
- 四、风格迁移(Style Transfer / Img2Img)
- 五、三种技术的融合工作流
- 六、总结与常见问题排查
- 官方参考链接
一、引言:为什么 Image 工作流如此重要?
1.1 从"生成"到"精修"的进阶之路
经过前面系列文章的学习,你已经掌握了 ComfyUI 的基础操作、文生图和图生图的核心流程。但真正让 AI 绘图从"玩具"变成"生产力工具"的,是对图像的精细控制能力。
在实际创作中,很少有"一次生成就完美"的情况:
- 画面整体满意,但人物手指畸变了 → 需要局部修复(Inpainting)
- 生成的图分辨率太低,细节模糊 → 需要超分辨率放大(Upscaling)
- 想要把写实照片变成动漫风格 → 需要风格迁移(Style Transfer)
这三种 Image 相关的技术,是 ComfyUI 进阶路上必须掌握的三大核心能力。它们既相互独立,又可以组合使用,构成完整的高质量图像生产管线。
一句话总结:文生图帮你"从无到有",Image 工作流帮你"从有到优"。
1.2 本篇文章你将掌握的内容
| 技术方向 | 核心能力 | 应用场景 |
|---|---|---|
| ✅ Inpainting(局部重绘) | 精准修改图像特定区域 | 瑕疵修复、物体去除、局部调整 |
| ✅ Upscaling(超分放大) | 提升图像分辨率与细节 | 老照片修复、AI 图高清化、打印输出 |
| ✅ Style Transfer(风格迁移) | 转换图像的艺术风格 | 照片转插画、风格仿作、创意设计 |
| ✅ 融合工作流 | 三种技术组合使用 | 完整的高质量图像生产管线 |
二、图片修复(Inpainting)深入详解
2.1 Inpainting 的核心原理与应用场景
Inpainting(局部重绘) 是 AI 图像处理中最实用的功能之一。它的核心逻辑是:只修改图像中你指定的区域,其他部分保持不变。
打个比方:你请画家画了一幅画,大部分都很满意,但有个细节需要调整——你不需要让画家重画整幅画,只需要告诉他"把这里改一下"。你用手指指出的那个"区域"就是 Mask(遮罩),画家根据你的要求只修改这块区域——这就是 Inpainting。
典型应用场景:
| 场景 | 说明 | 示例 |
|---|---|---|
| 瑕疵修复 | 去除照片中的多余物体、水印、污点 | 照片背景中的路人、广告牌 |
| 肢体修正 | 修复 AI 生成错误的手指、手臂等 | SD 常见的多指/断指问题 |
| 局部换装 | 更改人物服装颜色或款式 | 电商模特换装 |
| 面部调整 | 微调表情、眼睛颜色、嘴型 | 人像精修 |
| 物体替换 | 将画面中的某个物体替换为其他内容 | 把桌上的杯子换成花盆 |
2.2 核心节点解析:VAE Encode for Inpainting
Inpainting 工作流与常规文生图/图生图最大的区别在于 VAE 编码阶段。ComfyUI 提供了专门的 VAE Encode (for Inpainting) 节点,它的作用是将输入图像和遮罩一起编码到潜空间,让模型知道"哪里需要重绘,哪里要保持原样"。
VAE Encode for Inpainting 参数详解:
| 参数名 | 类型 | 作用说明 |
|---|---|---|
pixels |
IMAGE | 需要编码到潜空间的输入图像(RGB) |
vae |
VAE | 用于将像素空间编码到潜空间的 VAE 模型 |
mask |
MASK | 指定需要修改区域的遮罩(白色=重绘区域,黑色=保留区域) |
grow_mask_by |
INT | 遮罩向外扩展的像素值,默认 6,值越大融合越自然 |
关键技巧: grow_mask_by 参数非常关键。设得太小(如 0-3),重绘区域与原图之间会有生硬的边缘痕迹;设得太大(如 20+),会影响过多区域。建议从 6 开始调整,观察效果。
与 Inpainting 相关的其他核心节点:
| 节点名称 | 功能 |
|---|---|
Load Image |
加载待修复的图像 |
VAE Decode |
将潜空间图像解码回像素空间 |
KSampler |
控制 denoise 强度(Inpainting 建议 0.7-1.0) |
Mask Editor(内置) |
在 ComfyUI 中直接绘制遮罩 |
Preview Image |
预览生成结果 |
2.3 遮罩编辑器(Mask Editor)使用指南
遮罩是 Inpainting 的核心输入。ComfyUI 提供了便捷的 遮罩编辑器(Mask Editor),让你无需借助外部工具即可精准绘制遮罩。
打开遮罩编辑器的步骤:
- 在
Load Image节点上右键点击 - 在右键菜单中选择
Open in MaskEditor(在遮罩编辑器中打开) - 在弹出的编辑窗口中使用画笔工具绘制遮罩
遮罩编辑器界面功能:
| 功能 | 操作 | 说明 |
|---|---|---|
| 🖌️ 画笔 | 左键拖拽绘制 | 白色区域 = 需要重绘的区域 |
| 🧹 橡皮擦 | 右键拖拽擦除 | 擦除误绘的遮罩区域 |
| 📏 画笔大小 | 右侧滑块调节 | 精细区域用小画笔(5-20px),大区域用大画笔(50-200px) |
| 🔍 缩放 | 滚轮缩放 | 便于精细绘制边缘区域 |
| 💾 保存 | 点击 Save 按钮 | 保存遮罩并返回到工作流 |
高效遮罩技巧:
- ✅ 利用
Copy Clipspace和Paste Clipspace快速在节点间传递图像- ✅ 遮罩边缘可以稍微超出目标区域,用
grow_mask_by控制融合- ✅ 复杂遮罩可以在外部工具(如 Photoshop)中创建带 alpha 通道的 PNG 直接导入
2.4 Inpainting 模型 vs 常规模型的选择
Inpainting 任务中,模型的选择直接影响最终效果。主要有两种方案:
| 方案 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| 专用 Inpainting 模型 | 融合效果自然,对遮罩区域控制精准 | 需要额外下载模型,占用更多空间 | 修复大区域、重要细节 |
| 常规模型 + 高 denoise | 无需额外模型,使用方便 | 边缘融合可能不自然 | 小范围修复、快速尝试 |
推荐 Inpainting 模型:
- SD 1.5 Inpainting:官方微调模型,适合 SD1.5 生态
- Dreamshaper 8 Inpainting:社区热门,效果优秀
- Realistic Vision Inpainting:适合写实风格修复
2.5 实操案例一:人像照片瑕疵修复
目标:修复一张 AI 生成的人像照片中的手指畸形问题。
准备工作:
- 一张包含手指缺陷的 AI 人像图
- 已安装 SD1.5 Inpainting 或 Dreamshaper 8 Inpainting 模型
步骤详解:
| 步骤 | 操作 | 节点/位置 | 参数设置 |
|---|---|---|---|
| 1️⃣ | 加载 Inpainting 专用模型 | Load Checkpoint |
选择 Dreamshaper 8 Inpainting |
| 2️⃣ | 导入待修复图片 | Load Image |
上传人像照片 |
| 3️⃣ | 打开遮罩编辑器 | 右键 Load Image → Open in MaskEditor | — |
| 4️⃣ | 绘制手指区域的遮罩 | Mask Editor 画笔 | 画笔大小 20-30px,精确覆盖畸形区域 |
| 5️⃣ | 保存遮罩 | Save 按钮 | — |
| 6️⃣ | 连接 VAE Encode for Inpainting | 将 image 和 mask 接入该节点 | grow_mask_by = 8 |
| 7️⃣ | 设置正向提示词 | CLIP Text Encode (Positive) |
beautiful hands, delicate fingers, natural pose, detailed |
| 8️⃣ | 设置反向提示词 | CLIP Text Encode (Negative) |
deformed fingers, extra fingers, bad anatomy, blurry |
| 9️⃣ | 配置采样器 | KSampler |
denoise = 0.85, steps = 30, CFG = 7 |
| 🔟 | 执行生成 | Queue Prompt | 观察结果,不满意则调整 denoise 或重新绘制遮罩 |
参数调优建议:
| 参数 | 建议范围 | 效果说明 |
|---|---|---|
denoise |
0.7 - 0.9 | 越高越偏离原图,修复大缺陷用高值 |
grow_mask_by |
4 - 12 | 越大融合越自然,但会影响更多原图区域 |
steps |
25 - 40 | 修复建议步数稍多,效果更稳定 |
CFG Scale |
7 - 10 | 提示词严格度,修复任务可适当提高 |
💡 小提示:修复手指等精细部位时,如果一次效果不理想,可以尝试:1) 缩小遮罩范围 2) 降低 denoise 到 0.7 3) 在正向提示词中更具体地描述期望的手部形态。
三、超分辨率放大(Upscaling)全面指南
3.1 像素放大 vs 潜空间放大:本质区别
在 ComfyUI 中,图像放大有两种完全不同的路线:像素空间放大和潜空间放大。理解它们的区别是选择正确放大方案的前提。
| 对比维度 | 像素空间放大(Pixel Upscale) | 潜空间放大(Latent Upscale) |
|---|---|---|
| 操作位置 | 在像素(图像)层面操作 | 在潜空间(Latent)层面操作 |
| 原理 | 使用传统插值或 AI 模型直接放大图像 | 将图像编码到潜空间 → 放大 → 再解码 |
| 节点示例 | Upscale Image、SUPIR、Ultimate SD Upscale |
Upscale Latent、LatentUpscale |
| 速度 | 较快(尤其是传统插值) | 较慢(需要编解码过程) |
| 细节保留 | 取决于 upscale 模型质量 | 可与 KSampler 结合补充细节 |
| 适用场景 | 需要快速放大、简单提升分辨率 | 需要高质量放大并添加细节 |
两者的本质区别图:
像素放大路线:
输入图像 → Upscale Image 节点 → 放大后的图像
(简单直接,不经过潜空间)
潜空间放大路线:
输入图像 → VAE Encode → Upscale Latent → KSampler → VAE Decode → 放大图像
(编解码过程中,KSampler 可以"补充"放大后的细节)
3.2 常用 Upscale 节点与模型对比
ComfyUI 中有多种放大方案,以下是最常用的几种:
| 方案 | 核心节点 | 放大倍数 | 速度 | 质量 | 推荐场景 |
|---|---|---|---|---|---|
| 传统插值 | Upscale Image(Nearest/Lanczos) |
1-4x | ⚡⚡⚡⚡ | ⭐⭐ | 快速预览、轻量需求 |
| ESRGAN 类 | ESRGAN Upscaler |
2-4x | ⚡⚡⚡ | ⭐⭐⭐⭐ | 通用高质量放大 |
| SUPIR | SUPIR Model Loader + SUPIR Sampler |
1-4x | ⚡⚡ | ⭐⭐⭐⭐⭐ | 极致画质、老照片修复 |
| Ultimate SD Upscale | UltimateSDUpscale + KSampler |
任意 | ⚡ | ⭐⭐⭐⭐ | 细节增强型放大 |
| Latent Upscale | Upscale Latent + KSampler |
1-2x | ⚡⚡ | ⭐⭐⭐ | 与工作流集成度高 |
像素放大(Upscale Image)参数说明:
| 参数 | 选项 | 效果 |
|---|---|---|
nearest_exact |
最近邻插值 | 最快,但边缘锯齿明显,不适合放大 |
bilinear |
双线性插值 | 折中方案,边缘平滑但可能模糊 |
lanczos |
拉格朗日插值 | 传统算法中质量最佳,细节保留好 |
area |
面积加权 | 适合缩小图像 |
bislerp |
双三次样条 | 高质量放大,速度适中 |
3.3 实操案例二:低分辨率老照片超分增强
目标:将一张 512×512 的低分辨率老照片放大至 2048×2048,同时修复模糊和噪点。
方案选择:使用 ESRGAN + 后期轻量锐化的组合方案,兼顾速度与质量。
准备工作:
- 一张 512×512 或更低分辨率的老照片(JPEG/PNG)
- 已安装 ESRGAN 模型(如
RealESRGAN_x4plus)放置在ComfyUI/models/upscale_models/
步骤详解:
| 步骤 | 操作 | 节点 | 参数设置 |
|---|---|---|---|
| 1️⃣ | 加载图像 | Load Image |
上传老照片 |
| 2️⃣ | 第一次放大(传统插值) | Upscale Image |
方法:lanczos,宽高从 512 放大到 1024 |
| 3️⃣ | AI 超分放大 | ESRGAN Upscaler |
选择 RealESRGAN_x4plus 模型,放大到 2048 |
| 4️⃣ | 降噪处理(可选) | Image Denoise |
强度 0.2-0.3(根据噪点程度调整) |
| 5️⃣ | 对比度/色彩调整 | Image Adjust |
适当增加对比度 + 饱和度 |
| 6️⃣ | 保存结果 | Save Image |
保存为 PNG 格式 |
如果你追求极致画质(SUPIR 方案):
SUPIR(Scaling Up Image Restoration)是目前 ComfyUI 中最强的图像修复与超分方案之一。工作流节点序列:
Load Image → SUPIR Model Loader → SUPIR First Stage (Denoiser)
→ SUPIR Encode → SUPIR Conditioner → SUPIR Sampler
→ SUPIR Decode → Color Match → Image Resize → Save Image
| SUPIR 关键参数 | 说明 | 推荐值 |
|---|---|---|
denoise_strength |
降噪强度,越大越平滑 | 0.3 - 0.6 |
sharpness |
锐化程度 | 0.5 - 1.0 |
cfg_scale |
提示词遵循度 | 4 - 7 |
color_match |
色彩匹配方法 | wavelet / mean |
⚠️ 注意:SUPIR 方案对显存要求较高(建议 8GB+),显存不足时可以先使用 ESRGAN 方案。如果你使用 Comfy Cloud,可以直接使用 SUPIR 工作流模板。
四、风格迁移(Style Transfer / Img2Img)
4.1 图生图(Img2Img)的核心参数:Denoise
风格迁移的最简单实现方式是 图生图(Img2Img) 工作流。它的核心在于 KSampler 中的 denoise 参数。
Denoise 参数的作用:
denoise = 0 → 输出与输入完全一致(无变化)
denoise = 0.3 → 轻微变化,保留大部分原图结构
denoise = 0.5 → 中等变化,风格开始转变
denoise = 0.7 → 显著变化,风格主导
denoise = 0.85 → 强烈变化,保留构图但风格完全转变
denoise = 1.0 → 完全重绘,等同于文生图(丢失原图信息)
不同 denoise 值的效果对比:
| denoise | 原图保留度 | 风格强度 | 适用场景 |
|---|---|---|---|
| 0.2 - 0.4 | 很高 | 弱 | 微调色调、轻微润色 |
| 0.4 - 0.6 | 中等 | 中等 | 线稿上色、老照片着色 |
| 0.6 - 0.8 | 较低 | 强 | 写实→插画、风格迁移 |
| 0.8 - 1.0 | 很低 | 极强 | 大幅修改、创意重绘 |
4.2 风格迁移的三种常见路线
除了基础的 Img2Img,ComfyUI 中还有更多风格迁移方案:
| 方案 | 原理 | 优点 | 缺点 | 推荐指数 |
|---|---|---|---|---|
| 方案A:Img2Img 基础迁移 | 调整 denoise + 风格提示词 | 最简单,无需额外节点 | 控制力有限 | ⭐⭐⭐ |
| 方案B:Img2Img + ControlNet | 用 ControlNet 约束构图 | 保留原图结构,风格更自由 | 需要 ControlNet 模型 | ⭐⭐⭐⭐⭐ |
| 方案C:IP-Adapter 风格迁移 | 用参考图直接提取风格 | 风格迁移最精准 | 需要 IP-Adapter 节点 | ⭐⭐⭐⭐ |
方案 B 核心流程(推荐):
Load Image → ControlNet Loader + ControlNetApply → VAE Encode
→ KSampler (denoise=0.7-0.85) → VAE Decode → Save Image
ControlNet 的作用是"锁定"原图的构图和轮廓,让模型在改变风格时不偏离原图的结构。推荐使用 Canny 或 Lineart 类型的 ControlNet 模型。
4.3 实操案例三:照片转手绘插画风格
目标:将一张普通照片转换为手绘水彩插画风格。
准备工作:
- 一张风景或人像照片
- 已安装 SDXL 或 SD1.5 模型
- 建议安装 ControlNet(Canny 模型)
步骤详解(Img2Img + ControlNet 方案):
| 步骤 | 操作 | 节点 | 参数/提示词 |
|---|---|---|---|
| 1️⃣ | 加载模型 | Load Checkpoint |
选择擅长插画风格的模型(如 Dreamshaper) |
| 2️⃣ | 加载照片 | Load Image |
上传原始照片 |
| 3️⃣ | 提取边缘 | ControlNet Loader + Canny |
low_threshold=100, high_threshold=200 |
| 4️⃣ | 应用 ControlNet | ControlNetApply |
strength=0.7(控制强度) |
| 5️⃣ | 正向提示词 | CLIP Text Encode (P) |
watercolor painting, illustration style, soft colors, artistic, beautiful |
| 6️⃣ | 反向提示词 | CLIP Text Encode (N) |
photo, realistic, 3d, ugly, blurry, low quality |
| 7️⃣ | 采样器 | KSampler |
denoise=0.75, steps=30, CFG=7, sampler=DPM++ 2M Karras |
| 8️⃣ | 解码与保存 | VAE Decode → Save Image |
— |
效果调优建议:
| 问题 | 解决方案 |
|---|---|
| 风格变化不够明显 | 提高 denoise 到 0.8-0.85 |
| 原图结构变形 | 提高 ControlNet strength 到 0.8+,或降低 denoise |
| 颜色过于饱和 | 在负向提示词中加入 oversaturated,或后续通过 Image Adjust 调整 |
| 细节丢失严重 | 使用 SDXL 模型(保留更多细节),或降低 denoise |
进阶技巧:如果你想要更精准的风格迁移,可以尝试 IP-Adapter 方案。它的工作原理是使用一张"风格参考图"(如你喜欢的画师作品),让模型直接学习参考图的风格特征,效果往往比提示词描述更精准。
五、三种技术的融合工作流
在实际项目中,Inpainting、Upscaling 和 Style Transfer 很少单独使用。下面介绍两种常见的融合方案。
5.1 超分 + Inpainting 联合修复
这是老照片修复的经典管线:先用超分提升分辨率,再用 Inpainting 修复局部破损。
老照片 → Upscale Image(提升分辨率)
→ VAE Encode for Inpainting + Mask Editor(标记破损区域)
→ KSampler(denoise=0.6-0.8)
→ VAE Decode → 修复完成
参数建议:
| 阶段 | 节点 | 参数 |
|---|---|---|
| 第一阶段:超分 | ESRGAN Upscaler | 2-4x 放大 |
| 第二阶段:降噪 | Image Denoise | denoise=0.3 |
| 第三阶段:Inpainting | VAE Encode for Inpainting | grow_mask_by=8, denoise=0.7 |
| 第四阶段:色彩调整 | Image Adjust | 适当增加对比度和饱和度 |
5.2 Inpainting + 风格迁移的组合应用
先对图像进行局部修改,再整体迁移风格——这在创意设计中非常实用。
原图 → Inpainting(修改局部)→ 保存中间结果
→ ControlNetApply(保留构图)
→ KSampler(高 denoise 风格迁移)
→ 风格化结果
六、总结与常见问题排查
6.1 核心知识点回顾
通过本文的学习,你已经掌握了:
- ✅ Inpainting 局部重绘:VAE Encode for Inpainting 节点参数、遮罩编辑器使用、模型选择
- ✅ 像素放大 vs 潜空间放大:两种路线的原理、优缺点和适用场景
- ✅ ESRGAN 与 SUPIR:两种主流超分方案的使用方法和参数调优
- ✅ Denoise 参数:在不同场景下的效果变化和控制技巧
- ✅ 风格迁移三种方案:Img2Img 基础、ControlNet 辅助、IP-Adapter 精准迁移
- ✅ 三种技术融合:超分+Inpainting 联合修复、Inpainting+风格迁移组合应用
- ✅ 三个实操案例:人像瑕疵修复、老照片超分增强、照片转手绘插画
6.2 常见问题排查表
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| Inpainting 区域边缘生硬 | grow_mask_by 太小 | 增大 grow_mask_by,建议 8-12 |
| Inpainting 后原图区域被改变 | mask 精度不够 | 重新绘制遮罩,确保只覆盖目标区域 |
| 放大后图像模糊 | 使用的 upscale 模型不匹配 | 使用高质量 ESRGAN 或 SUPIR 模型 |
| 风格迁移后构图崩溃 | denoise 过高或未使用 ControlNet | 降低 denoise 到 0.6-0.7,或添加 ControlNet |
| 显存不足(OOM) | 分辨率过高或模型过大 | 降低批次大小、使用 Tiled VAE、缩小图像尺寸 |
| SUPIR 速度极慢 | 显存不足或参数过高 | 使用 Tiled 模式、降低 denoise_strength |
6.3 下一篇预告
下一篇我们将进入一个全新的领域——3D 与 AI 生成的结合方法。你将学习在 ComfyUI 中如何导入 3D 模型、使用 3D 相关节点(如 Meshy 和 Tripo 集成)、以及将 2D 图像转换为 3D 模型的完整工作流。这将是 ComfyUI 从平面创作走向立体世界的关键一步。
敬请期待:系列第 16 篇 —— 3D 相关示例:3D 与 AI 生成的结合方法 🚀
官方参考链接
- ComfyUI 局部重绘工作流 — 官方 Inpainting 教程
- ComfyUI 图生图工作流 — 官方 Img2Img 教程
- ComfyUI 文生图工作流 — 官方文生图教程
- ComfyUI 学习与教程 → 学习与教程 → 教程示例(Image 示例)
- ComfyUI 内置节点文档 → 内置节点 → VAE 节点
- SUPIR 节点使用指南 — 超分辨率增强方案
- ComfyUI Manager — 自定义节点管理器,用于安装 ESRGAN 等第三方节点
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)