ComfyUI核心节点(二)

前言:

学习ComfyUI是一场持久战。当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点。面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措。在这篇文章中,我们将用通俗易懂的语言对ComfyUI的核心节点进行系统梳理,并详细解释每个参数。希望大家在学习过程中培养自我思考的能力,真正掌握和理解各个节点的用法与功能。在实践中不断提升自己的技术水平。只有通过不断的探索和总结,才能在面对复杂的工作流时游刃有余。祝大家学习顺利,早日成为ComfyUI的高手!

目录:

一、VAE Decode(Tiled)节点

二、Invert Image节点

三、Load Image节点

四、Pad lmage for Outpainting节点

五、VAE Encoder(for inpainting)节点

六、Preview image节点

七、Upscale image节点

八、图生图示例工作流

  1. VAE Decode(Tiled)节点

该节点用于对变分自编码器(VAE)进行解码操作,以将潜在空间(latent space)中的表示转换回图像。

输入:

Samples -> 接收KSampler采样器处理后的潜空间图像

vae -> 接收对潜空间图像解码使用的vae模型

输出:

IMAGE -> 输出经过vae解码后可直接查看的图像

参数:

tile_size -> 用来设定"块"的大小,进行多块处理

Tips:这个节点特别适合处理高分辨率图像,因为将图像分成小块进行处理,然后在处理完所有块后将它们组合成完整图像,可以避免内存溢出,并且提高处理效率。

例如,1024*1024的图像可以通过设置1024,来分成2块进行解码,也可以设置成512,分成4块进行解码。

  1. Invert Image节点

该节点用于反转图像的颜色。具体来说,它将图像中的每个像素的颜色值转换为其补色。

输入:

image -> 加载想要处理的图片

输出:

IMAGE -> 输出反转图像

反转图像颜色在图像处理和特效制作中有多种应用,包括但不限于以下几种:

·视觉效果:反转图像颜色可以产生独特的视觉效果,增加图像的艺术感。

·增强对比度:在某些情况下,反转图像颜色可以帮助突出某些细节或对比。

·创建掩膜:反转图像颜色可以用于创建和处理掩膜(masks),以便在进一步的图像处理步骤中使用。

  1. Load Image节点

该节点的主要功能是从你的计算机或其他存储设备中加载图像文件,并将其引入到ComfyUI的工作流程中。

输入:

upload -> 点击该按钮,去选择想要加载的图像

输出:

IMAGE -> 加载的图像可以作为输入提供给其他节点,以进行进一步的图像处理或操作

MASK -> 如果图像中带有Alpha通道信息,则会通过该节点进行输出

右键点击节点,会有一个功能栏,许多的功能可以在搭建工作流时会有不错的效果:

·图像编辑: 加载图像进行剪裁、调整颜色、添加滤镜等操作。

·图像分析: 使用加载的图像进行特征提取、模式识别等分析任务。

·图像生成: 在生成新图像时,将现有图像作为参考或素材进行处理。

  1. Pad lmage for Outpainting节点

该节点的主要目的是预处理输入图像,以便于后续的绘制或者生成任务。

输入:

image -> 接收加载的图像信息

参数:

left -> 设定图像左侧扩展的像素宽度

top -> 设定图像顶部扩展的像素宽度

right -> 设定图像右侧扩展的像素宽度

bottom -> 设定图像底部扩展的像素宽度

feathering -> 控制边框的柔化程度,使得填充的边缘与原始图像更自然地过渡

输出:

IMAGE -> 输出扩展后的图像信息

MASK -> 输出扩展部分对应的蒙版,并且结合feathering参数进行柔化处理。

如图所示,可以将MASK输出为图像预览羽化效果。

这个节点的作用是调整输入图像的大小或者填充以适应模型的输入要求。具体来说,它可能会执行以下操作之一:

·调整大小:将输入图像的尺寸调整为模型所需的输入尺寸。这可以是放大、缩小或者裁剪图像。

·填充:如果输入图像的尺寸不足以填满模型所需的输入尺寸,节点可能会在图像周围添加填充。填充通常使用像素值相同的颜色或者根据算法进行填充,以确保输入图像与模型的输入尺寸匹配。

  1. VAE Encoder(for inpainting)节点

该节点可以有效地对指定VAE模型对图像进行编码解码,从而为后续提供高质量的输入数据。

输入:

pixels -> 接收输入的图像信息

vae -> 接收输入的vae模型,使用该模型进行图片编码

mask -> 接收蒙版信息,用来确定扩散的区域

参数:

grow_mask_by -> 控制蒙版的羽化区域,和Pad lmage for Outpainting节点的feathering参数相似

输出:

LATENT -> 编码后的潜空间图像信息

如图所示,在熟悉从节点之后,便可创建一个简单的扩图工作流实现图片的扩展,上图所展示的便是对图片边缘扩展生成一张带边框的图像。

  1. Preview image节点

该节点用来预览image图像。

如果觉得图像说想要的效果,也可以右键节点选择“Save Image”进行图像保存,或者也可以建立一个“Save Image”节点,直接保存,保存地址附上。

  1. Upscale image节点

该节点用于放大图像的尺寸,同时尽可能保持图像的细节和质量。

输入:

image -> 接收需要调整的图像

参数:

upscale_method -> 选择放大图像的算法,“nearest-exact”表示使用最近邻插值算法。

width -> 调整后的图像宽度

height -> 调整后的图像高度

crop -> 设置是否对放大后的图像进行裁剪 “disabled表示不裁剪,center表示从中心对图片裁剪”

输出:

IMAGE -> 输出调整之后的图像

注意:比例需根据自身需求调整,上图的比例设置只为更好的展示节点效果

  1. 图生图示例工作流

熟练使用以上节点,你就可以搭建第一个“图生图”工作流了

可以看到,在整个图生图工作流中,这里使用了SDXL的大模型,上传一张原始底图,经过VAE Encoder节点对底图编码,后续通过提示词引导使用KSampler采样器进行去噪,最终出图如下:

孜孜以求,方能超越自我。坚持不懈,乃是成功关键。

ComfyUI进阶篇:ComfyUI核心节点(二)的更多相关文章

  1. Java进阶篇设计模式之十二 ---- 备忘录模式和状态模式

    前言 在上一篇中我们学习了行为型模式的策略模式(Strategy Pattern)和模板模式(Template Pattern).本篇则来学习下行为型模式的两个模式,备忘录模式(Memento Pat ...

  2. 走进Vue时代进阶篇(01):重构电商购物车模块

    前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue.所以,教是最好的学.进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们.欢迎你们跟着 ...

  3. Sass进阶之路,之二(进阶篇)

    Sass之二(进阶篇) 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型详情请点击这里,下面是小例子 1.$n1: 1.2 ...

  4. CocoaPods详解之(二)----进阶篇

    CocoaPods详解之----进阶篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 ...

  5. WPF 4 DataGrid 控件(进阶篇二)

    原文:WPF 4 DataGrid 控件(进阶篇二)      上一篇<WPF 4 DataGrid 控件(进阶篇一)>中我们通过DataGridTemplateColumn 类自定义编辑 ...

  6. 【进阶之路】Redis基础知识两篇就满足(二)

    导言 大家好,我是南橘,一名练习时常两年半的java练习生,这是我在博客园的第二篇文章,当然,都是要从别处搬运过来的,不过以后新的文章也会在博客园同步发布,希望大家能多多支持^_^ 这篇文章的出现,首 ...

  7. 「进阶篇」Vue Router 核心原理解析

    前言 此篇为进阶篇,希望读者有 Vue.js,Vue Router 的使用经验,并对 Vue.js 核心原理有简单了解: 不会大篇幅手撕源码,会贴最核心的源码,对应的官方仓库源码地址会放到超上,可以配 ...

  8. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  9. flink进阶篇

    Flink 面试--进阶篇 1.Flink是如何支持批流一体的? 2.Flink是如何做到高效的数据交换的? 3.Flink是如何做容错的? 4.Flink 分布式快照的原理是什么? 5.Flink ...

  10. Jmeter(三十九) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)

    ------------------------------------------------------------------- 转载自:北京-宏哥 https://www.cnblogs.co ...

随机推荐

  1. elasticsearch 6.2.4和elasticsearch-head环境搭建 使用docker-compose方式

    elasticsearch 6.2.4和elasticsearch-head测试环境搭建 使用docker-compose方式 一 背景说明 对于新手来说搭建一个elasticsearch的测试环境稍 ...

  2. GOLANG-配置nginx反向代理端口 配置域名

    目录 配置/etc/nginx/nginx.conf文件 新建/etc/nginx/conf.d/doc.haimait.conf文件 重启nginx服务 解析自己的域名到服务器的公网ip 配置/et ...

  3. uniAPP Android平台完整更新与热更新

    一.概述 1.uni-app打包成apk或wgt文件,使用plus.runtime.getProperty方法获取本地应用资源版本号.2.调用后端接口,拿到与后端规定好的版本号,与前面获取的版本号进行 ...

  4. Akima算法

    测量数据的内插已有各种方法,如线性内插.多项式内插.样条函数插值等,但这里的Akima插值法具有独特的优点. 线性内插只顾及其附近两点的影响. 多项式内插时,低阶多项式由于参数较少,内插精度很低,而使 ...

  5. 鸿蒙HarmonyOS实战-ArkUI事件(组合手势)

    一.组合手势 应用程序的手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式.手势操作可以包括点击.滑动.双击.捏合等动作,用于实现不同的功能和操作. HarmonyOS中常见的手势操作及其 ...

  6. js 数组按指定字段转map-list结构

    js 数组按指定字段转map-list结构 背景介绍 在开发过程中经常会出现接口返回整个数组,我们需要将数组进行二次处理,如下格式按照不同功能模块(type)进行数据拆分 原始数据 const lis ...

  7. 【C#】做一个winform版本的软考成绩查询软件

    返回的json SWCJ代表 上午的成绩 XWCJ代表下午的成绩.   主要步骤: 1. 获取验证码图片 2. 获取cookie 3. 发送验证验证码请求 4 发送成绩查询请求,并获取返回的json ...

  8. 查看浏览器对html5的支持情况

    http://html5test.com/   视频和音频代码检测 function CheckAudio(){ var myAudio=document.createElement("au ...

  9. c#获取开机时间

    public static DateTime OpenCom() { TimeSpan t = TimeSpan.FromMilliseconds(System.Environment.TickCou ...

  10. 8.18考试总结(NOIP模拟43)[第一题·第二题·第三题·第四题]

    愿你和重要的人,在来日重逢. 前言 题目名字起的很随意... 这天 Luogu 的运势好像是大凶(忌:打模拟赛,注意报零). 但是考得还不错,拿到了这么多场模拟赛以来第二三个场上AC. 所以说,我爱大 ...