Stable Diffusion 图生图与图像修复
最后更新: 2026-03-26
难度: ⭐⭐⭐ 进阶
🖼️ 什么是图生图?
图生图(img2img)是在现有图像基础上进行变换和创作的功能。
核心原理:
输入图像 + 提示词 + 重绘强度 = 新图像应用场景:
- 🎨 风格转换(照片→油画)
- ✏️ 图像修复(修复瑕疵)
- 🔄 图像变体(生成相似图)
- 📐 图像扩展(Outpainting)
- 📏 图像放大(Upscale)
🚀 图生图基础操作
步骤 1:进入图生图界面
WebUI → img2img 标签步骤 2:上传图像
方法:
- 拖拽图片到上传区域
- 点击区域选择文件
- 从 PNG Info 拖入
步骤 3:设置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Denoising strength | 0.3-0.7 | 重绘强度(核心参数) |
| Sampling Steps | 20-30 | 采样步数 |
| CFG Scale | 7 | 提示词相关性 |
| Width/Height | 原图尺寸 | 输出尺寸 |
步骤 4:输入提示词
正向提示词: 描述想要的效果 负向提示词: 描述不想要的效果
步骤 5:点击生成
等待完成,查看结果
🎚️ 重绘强度详解
什么是重绘强度?
Denoising strength 控制 AI 在多大程度上重新绘制图像。
强度范围效果
| 强度值 | 效果 | 适用场景 |
|---|---|---|
| 0.1-0.2 | 轻微调整 | 优化细节、 sharpen |
| 0.3-0.4 | 适度变化 | 风格转换、质量提升 |
| 0.5-0.6 | 明显变化 | 创意变体、中等修改 |
| 0.7-0.8 | 大幅变化 | 创意重构、保留构图 |
| 0.9-1.0 | 几乎重画 | 仅保留构图,内容大变 |
实战示例
原图: 一张普通人像照片
| 强度 | 提示词 | 效果 |
|---|---|---|
| 0.3 | professional portrait, studio lighting | 提升光影质量 |
| 0.5 | oil painting style, textured brushstrokes | 转为油画风格 |
| 0.7 | cyberpunk character, neon lights | 转为赛博朋克风格 |
| 0.9 | fantasy warrior, armor, magical effects | 转为奇幻战士 |
🎨 风格转换实战
照片→油画
步骤:
1. 上传照片到 img2img
2. 设置 Denoising strength: 0.5-0.6
3. 输入提示词:
oil painting, impasto, textured brushstrokes,
in the style of Van Gogh, vibrant colors
4. 点击生成照片→水彩画
步骤:
1. 上传照片
2. 设置 Denoising strength: 0.4-0.5
3. 输入提示词:
watercolor painting, transparent, soft edges,
light and airy, pastel colors
4. 点击生成照片→动漫风格
步骤:
1. 上传照片
2. 设置 Denoising strength: 0.5-0.6
3. 输入提示词:
anime style, cel shading, vibrant colors,
in the style of Studio Ghibli
4. 点击生成照片→赛博朋克
步骤:
1. 上传照片
2. 设置 Denoising strength: 0.6-0.7
3. 输入提示词:
cyberpunk, neon lights, futuristic,
sci-fi city, dramatic lighting
4. 点击生成✏️ 局部重绘(Inpaint)
什么是局部重绘?
只重绘图像的特定区域,其他部分保持不变。
操作步骤
1. 进入 Inpaint 界面
WebUI → img2img → Inpaint 标签2. 上传图像
3. 绘制蒙版
- 使用画笔工具涂抹要修改的区域
- 白色 = 重绘区域
- 黑色 = 保持原样4. 设置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Masked content | original | 蒙版内容处理 |
| Inpaint area | only masked | 重绘区域 |
| Denoising strength | 0.7-1.0 | 重绘强度 |
5. 输入提示词
描述想要替换成的内容6. 点击生成
局部重绘应用场景
场景 1:更换服装
原图:人物穿 T 恤
蒙版:涂抹衣服区域
提示词:elegant evening dress, silk, red color
结果:人物换上红色晚礼服场景 2:添加配饰
原图:人物无眼镜
蒙版:涂抹眼部区域
提示词:stylish glasses, modern design
结果:人物戴上眼镜场景 3:修复瑕疵
原图:人像有痘痘
蒙版:涂抹瑕疵区域
提示词:smooth skin, clear complexion
结果:皮肤光滑无瑕场景 4:更换背景
原图:室内人像
蒙版:涂抹背景区域
提示词:beautiful garden, cherry blossoms, spring
结果:背景变为花园场景 5:修复老照片
原图:破损老照片
蒙版:涂抹破损区域
提示词:restored, clean, detailed
结果:照片修复完整📐 图像扩展(Outpainting)
什么是 Outpainting?
向图像外部扩展内容,创造更大的画面。
操作步骤
1. 进入 Inpaint 界面
2. 上传图像
3. 调整画布尺寸
增加 Width 或 Height
(如 512x512 → 768x512)4. 设置蒙版
涂抹扩展区域(原图外部分)5. 输入提示词
描述扩展区域应有的内容6. 点击生成
Outpainting 实战示例
示例 1:横向扩展风景
原图:512x512 风景照
目标:768x512 宽幅风景
提示词:continuous landscape, mountains, trees, sky
结果:风景向两侧延伸示例 2:向上扩展
原图:人像(头部接近顶部)
目标:增加天空区域
提示词:blue sky, clouds, birds
结果:顶部出现蓝天白云示例 3:向下扩展
原图:产品图(底部空间不足)
目标:增加展示台
提示词:wooden table, reflective surface
结果:底部出现展示台📏 图像放大(Upscale)
为什么要放大?
- 提高分辨率用于打印
- 增加细节用于展示
- 修复低分辨率图像
放大方法对比
| 方法 | 倍数 | 质量 | 速度 |
|---|---|---|---|
| SD 放大 | 2-4x | ⭐⭐⭐⭐⭐ | 慢 |
| ESRGAN | 2-4x | ⭐⭐⭐⭐ | 中 |
| SwinIR | 2-4x | ⭐⭐⭐⭐⭐ | 慢 |
| RealESRGAN | 2-8x | ⭐⭐⭐⭐ | 快 |
SD 放大步骤
1. 进入 Extras 标签
2. 上传图像
3. 选择放大算法
| 算法 | 适用场景 |
|---|---|
| R-ESRGAN 4x+ | 通用放大 |
| R-ESRGAN 4x+ Anime6B | 动漫图像 |
| SwinIR 4x | 高质量放大 |
| ScuNET GAN | 去噪 + 放大 |
4. 设置放大倍数
Scale: 2(2 倍)
或设置目标分辨率5. 其他设置
GFPGAN visibility: 0(人脸修复)
CodeFormer visibility: 0(人脸修复)6. 点击生成
高清修复(Hires. fix)
什么是 Hires. fix?
先生成小图,再放大并细化细节。
操作步骤:
1. txt2img 界面
2. 启用 Hires. fix
勾选 Hires. fix 选项3. 设置参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| Upscaler | R-ESRGAN 4x+ | 放大算法 |
| Hires steps | 15-20 | 放大后步数 |
| Denoising strength | 0.3-0.5 | 重绘强度 |
| Upscale by | 2 | 放大倍数 |
4. 生成
先生成 512x512
再放大到 1024x1024 并细化🎯 图生图高级技巧
技巧 1:ControlNet 配合
什么是 ControlNet?
精确控制图像构图、姿势、边缘的工具。
常用 ControlNet 模型:
| 模型 | 功能 | 适用场景 |
|---|---|---|
| Canny | 边缘检测 | 保持轮廓 |
| Depth | 深度图 | 保持空间关系 |
| OpenPose | 姿势检测 | 控制人物姿势 |
| Segmentation | 语义分割 | 分区控制 |
使用步骤:
1. 启用 ControlNet
2. 上传控制图
3. 选择预处理器
4. 选择 ControlNet 模型
5. 设置权重(0.5-1.0)
6. 生成技巧 2:批量生成变体
步骤:
1. 进入 img2img
2. 上传图像
3. 设置 Denoising strength: 0.4-0.6
4. 设置 Batch count: 10(生成 10 张)
5. 点击生成
6. 从 10 张中选择最佳技巧 3:渐进式修改
场景: 需要大幅修改但不想一次到位
方法:
第 1 轮:Denoising 0.3 → 轻微调整
第 2 轮:Denoising 0.5 → 中等修改
第 3 轮:Denoising 0.7 → 大幅变化优点: 可控性强,可随时停止
技巧 4:多轮迭代优化
场景: 追求最佳效果
流程:
1. 生成基础图像
2. 选择最佳结果
3. 作为新输入再次图生图
4. 调整提示词和参数
5. 重复直到满意📊 参数对比实验
Denoising strength 对比
| 原图 | 强度 | 提示词 | 效果描述 |
|---|---|---|---|
| 人像照片 | 0.2 | sharpen, detailed | 轻微锐化 |
| 人像照片 | 0.4 | professional portrait | 提升质感 |
| 人像照片 | 0.6 | oil painting style | 转为油画 |
| 人像照片 | 0.8 | cyberpunk character | 转为赛博朋克 |
不同放大算法对比
| 算法 | 2x 质量 | 4x 质量 | 速度 |
|---|---|---|---|
| Lanczos | ⭐⭐⭐ | ⭐⭐ | 快 |
| ESRGAN | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 中 |
| SwinIR | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 慢 |
| R-ESRGAN | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 中 |
📝 常见问题
Q1: 图生图后图像模糊怎么办?
解决方案:
- 降低 Denoising strength
- 增加 Sampling Steps
- 使用 Hires. fix
- 后期 Upscale
Q2: 局部重绘边缘不自然怎么办?
解决方案:
- 增加蒙版模糊(Mask blur)
- 调整 Denoising strength
- 使用 Inpaint only masked
- 多次轻涂叠加
Q3: Outpainting 后衔接不自然怎么办?
解决方案:
- 确保提示词描述连贯
- 增加重叠区域
- 使用较低 Denoising(0.4-0.5)
- 后期手动融合
Q4: 放大后细节丢失怎么办?
解决方案:
- 使用 SD 放大代替 ESRGAN
- 启用 Hires. fix
- 放大后再次图生图细化
- 使用 ControlNet 保持细节
Q5: 如何保持人物一致性?
解决方案:
- 使用较低 Denoising(0.3-0.4)
- 固定 Seed
- 使用相同提示词
- 使用 Roop/ReActor 换脸插件
🎓 实战案例
案例 1:老照片修复
目标: 修复破损黑白老照片
步骤:
1. 上传老照片到 img2img
2. 使用 Inpaint 修复破损区域
- 蒙版:涂抹破损处
- 提示词:restored, clean, detailed
- Denoising: 0.8
3. 使用 Extras 上色
- 提示词:colorized, natural colors
- Denoising: 0.4
4. 使用 Extras 放大
- Upscaler: SwinIR 4x
- Scale: 2案例 2:产品图精修
目标: 提升电商产品图质量
步骤:
1. 上传产品原图
2. 使用 Inpaint 修复瑕疵
- 蒙版:瑕疵区域
- 提示词:clean, perfect surface
3. 图生图提升质感
- Denoising: 0.3
- 提示词:product photography, studio lighting
4. 放大输出
- Upscaler: R-ESRGAN 4x+
- Scale: 2案例 3:创作系列插画
目标: 保持角色一致性的系列图
步骤:
1. 创建基础角色图
2. 保存最佳结果
3. 使用图生图创建变体
- Denoising: 0.4
- 修改背景和动作
4. 使用 Inpaint 调整细节
5. 批量生成多个场景📖 下一章预告
- ControlNet 工作原理
- 13 种预处理器详解
- 实战应用场景
- 多 ControlNet 组合
本教程持续更新中 | 2026-03-26
