前言:
学习 ComfyUI 是一场持久战。当你掌握了 ComfyUI 的安装和运行之后,会发现大量五花八门的节点。面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措。在这篇文章中,我们将用通俗易懂的语言对 ComfyUI 的核心节点进行系统梳理,并详细解释每个参数。希望大家在学习过程中培养自我思考的能力,真正掌握和理解各个节点的用法与功能。在实践中不断提升自己的技术水平。只有通过不断的探索和总结,才能在面对复杂的工作流时游刃有余。祝大家学习顺利,早日成为 ComfyUI 的高手!
一、Apply Controlnet 节点
该节点用于在生成图像的过程中应用控制网络(ControlNet)
输入:
Conditioning → 接收传入的条件信息,比如通过CLIP Text Encode (Prompt)处理后的文本信息,用于指导图像生成过程
control_net → 加载ControlNet模型。注意,Stable Diffusion(SD)模型和Stable Diffusion XL(SDXL)模型对应的ControlNet模型是不同的。
image → 加载经过预处理的图片。在此步骤中,输入的图片已经过预处理,而不是原始图像。
参数:
strength → 控制权重程度。数值越高,约束越强;数值越低,约束越弱。
输出:
CONDITIONING → 输出包含混入ControlNet信息的条件信息流。
应用场景
图像修复:通过参考控制图像,修复原始图像的缺陷。
图像风格转换:将一张图像的风格应用到另一张图像。
图像合成:结合多个图像元素生成新的图像。
个性化定制:根据用户提供的控制输入,生成特定风格或内容的图像。
通过 Apply Controlnet 节点,可以在图像生成过程中引入更多的控制,从而生成更加精确和符合预期的图像效果这对于需要高质量和高度定制化图像的应用场景非常有用。
二、Conditioning Average 节点
该节点用于合并多个条件信息流,生成一个平均条件信息流。这在多个条件输入需要整合时特别有用,如将多条文本提示或其他控制信号组合起来。
输入:
conditioning_to → 需要进行整合的条件信息之一
conditioning_from → 需要进行整合的条件信息之一
参数:
conditioning_to_strngth → 设置信息整合的强度
输出:
CONDITIONING → 输出信息整合之后的条件信息
注意:当 conditioning_to_strength 为 1 时,图像生成过程将完全受到 conditioning_to 的影响,而 conditioning_from 的影响将被忽略。反之,当 conditioning_to_strength 为 0 时,图像生成将只受 conditioning_from 的影响,conditioning_to 的影响则不会起作用。
注意:当 conditioning_to_strength 为 0.5 时,图像生成的结果将会受到 conditioning_to 和 conditioning_from 两个条件的影响,它们的权重相等。这种情况下,生成的图像可能会展现出两个条件之间的竞争或者混合的特征。例如,在一个包含”green”和”dragon”这两个条件的情境中,生成的图像可能会显示出这两种特征的一种效果或者混合的效果
Green 效果
Dragon 效果
混合效果
应用场景
多文本提示:将多个文本提示的条件信息流合并为一个,综合各种提示的效果进行图像生成。
多控制信号:整合来自不同控制信号的条件信息,以生成更复杂或更平衡的图像效果。
通过 Conditioning Average 节点,用户可以灵活地组合多个条件输入,提高图像生成的多样性和灵活性。
三、Conditioning(Set Area)节点
该节点用于设置图像生成过程中特定区域的条件或者属性,以控制生成图像的局部特征或者风格
输入:
conditioning → 接收传来的条件信息
输出:
CONDITIONING → 进行条件限制之后输出的条件信息
参数:
width → 控制区域的宽度
height → 控制区域的高度
x → 控制区域原点的x坐标
y → 控制区域原点的y坐标
strength → 表示条件信息的强度
注意:在 ComfyUI 中坐标系的原点是在节点的左上角。
应用场景
局部特征调整:针对图像中的特定部分调整颜色、对比度或者其他视觉属性。
局部风格控制:在图像生成过程中,控制特定区域的风格或者外观,以达到定制化或者特定效果。
复杂合成:将多个条件设置节点结合使用,以实现复杂的局部图像合成或者调整。
通过 Conditioning(Set Area)节点,可以精确控制图像生成过程中特定区域的表现,从而增强生成图像的定制性和表现力。
四、Conditioning(Combine)节点
该节点用于将多个条件信息流合并为一个单一的条件信息流,以用于控制图像生成过程中的各个方面。
输入:
conditioning_1 → 需要进行信息整合的条件信息之一
conditioning_2 → 需要进行信息整合的条件信息之一
输出:
CONDITIONING → 输出整合之后的条件信息
结合 Conditioning(Set Area)节点和 Conditioning(Combine)节点,如图所示,设置 1024*512 的图像可以将其左边分配给 1boy 提示词,将右边分配给 1 girl 提示词,从而生成一张两个区域都满足条件的图像。
应用场景
多源条件整合:从多个文本提示、控制信号或者其他数据源整合条件,以实现复杂的图像生成控制。
灵活控制:根据不同的需求场景和用户输入,动态调整生成图像的特征和风格。
定制化生成:为特定的应用或者用户需求,创建高度定制化的图像生成方案。
通过 Conditioning(Combine)节点,用户可以在图像生成过程中集成和整合多种条件输入,以实现更精确和多样化的图像生成效果。
五、Image Blur 节点
该节点用于对输入的图像进行模糊处理,以改变图像的视觉效果或者减少图像中的细节,通常用于创建柔和或者抽象化的视觉效果。
输入:
images → 接收输入的图像
输出:
IMAGE → 输出模糊后的图像
参数:
blur_radius → 输入模糊的高斯半径
sigma → 该值越小,模糊的像素越接近中心
应用场景
艺术效果:通过模糊处理来创建抽象化或者柔和的艺术效果。
背景处理:用于减少背景中的细节,突出前景对象。
视觉平滑:在视觉设计中用于平滑图像以减少视觉杂乱或者强调主题。
通过 Image Blur 节点,可以根据需求调整图像的外观,使其更符合艺术创作或者设计需求。
六、Image Sharpen 节点
该节点用于增强图像的清晰度和细节,通常用于提升图像的视觉效果和边缘锐化。
输入:
image → 需要进行锐化的原始图像
输出:
IMAGE → 输出锐化后的图像
参数:
sharpen_radius → 表示锐化的半径
sigma → 该值越小,锐化的像素越接近中心像素
alpha → 锐化的强度
应用场景
摄影后期处理:用于增强照片中的细节和清晰度,使图像更生动和有吸引力。
图像分析:在科学和工程领域中,用于增强图像以便更好地识别和分析特定的结构或对象。
艺术效果:在艺术创作中,用于调整图像的视觉效果,以达到更良好的视觉冲击力或者审美效果。
通过 Image Sharpen 节点,可以定制化地调整图像的清晰度和细节,以满足不同的美学和功能需求。
七、Image Quantize 节点
该节点用于将输入的图像进行量化处理,即将图像中的颜色数目减少到较少的色彩级别。
输入:
image → 接收需要调整的图像
输出:
IMAGE → 输出调整之后的图像
参数:
colors → 表示量化后图像包含的颜色数量(颜色数量最小为1,最大位256)
dither → 添加抖动效果,使图像在量化后更加平滑
不开启抖动
开启抖动
应用场景
艺术风格化:通过减少颜色数量,创建抽象或者卡通风格的图像效果。
图像压缩:减少图像文件大小,以节省存储空间或者加快图像传输速度。
特定效果:在某些视觉设计中,可以使用色彩量化来增强特定图像效果或者降低处理复杂度。
通过 Image Quantize 节点,可以调整图像的色彩级别,从而控制图像的视觉表现和处理效率。
八、Image Blend 节点
该节点用于将两幅图像混合在一起,生成一个结合了两幅图像特征的图像。
输入:
image_1 → 需要混合的第一幅图像
image_2 → 需要混合的第二幅图像
输出:
image → 混合后的图像输出
参数:
blend_factor → 混合因子,控制两幅图像的混合比例。值为0.0时,输出图像完全由image1决定;值为1.0时,输出图像完全由image2决定。值为0.5时,两幅图像各占一半权重。
blend_mode → 混合模式,定义两幅图像如何混合,有多个模式可选择,以下是常见的混合模式:
normal:正常混合,即按 blend_factor 的比例线性混合两幅图像。
multiply:乘法混合,结果图像的颜色值是两幅图像对应像素颜色值的乘积。
screen:屏幕混合,结果图像的颜色值是反转两幅图像对应像素颜色值的乘积的反转。
应用场景
艺术创作:将不同风格或元素的图像混合在一起,创造独特的艺术效果。
图像合成:在图像处理过程中,合成不同来源的图像,生成具有特殊效果的图像。
视觉特效:在影视、游戏等领域,利用图像混合技术创建逼真的视觉特效。
通过 Image Blend 节点,可以灵活地将两幅图像融合在一起,调整混合比例和模式,以实现丰富多样的图像处理效果。
九、区域控制示例工作流
熟练使用以上节点,你就可以搭建第一个“区域控制”工作流了。
这里使用 SD1.5 的大模型,通过 Conditioning(Set Area)节点控制图片生成区域,然后通过 Conditioning(Combine)节点进行条件合并,然后使用三个正向提示词来控制不同区域,最终出图如下所示: