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. 如何在docker环境下的纯净ubuntu系统中安装最新版nginx

    原文件地址: https://www.cnblogs.com/taoshihan/p/11588269.html 视频地址: https://www.bilibili.com/video/av6898 ...

  2. 解读注意力机制原理,教你使用Python实现深度学习模型

    本文分享自华为云社区<使用Python实现深度学习模型:注意力机制(Attention)>,作者:Echo_Wish. 在深度学习的世界里,注意力机制(Attention Mechanis ...

  3. 【2023全网最全最火】Selenium WebDriver教程(建议收藏)

    在本教程中,我将向您介绍 Selenium Webdriver,它是当今市场上使用最广泛的自动化测试框架.它是开源的,可与所有著名的编程语言(如Java.Python.C#.Ruby.Perl等)一起 ...

  4. NSInvocation 返回值在ARC下面的释放问题

    一.先看下面的代码 -(NSArray *) operationFromTakeoffAction:(NSString *) action AtPoint:(CGPoint) flightPoint ...

  5. OpenCV笔记(9) calcHist绘制直方图

    直方图只是简单地将数据归入预定义的组,并在每个组内进行计数.也可以选择对数据提取特征,再对特征进行计数,这里的特征可以是梯度的长度.梯度的方向.颜色或其他任何可以反应数据特点的特征.也就是说,直方图是 ...

  6. Vue.js 动画与过渡效果实战

    title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果,以及如 ...

  7. Java线程概念集合

    线程 概念 1.程序:为解决某种问题,使用计算机语言编写的一系列指令(代码)的集合 2.进程:正在运行的程序(被加载到内存中),是操作系统进行资源分配的最小单位 3.线程:进程可以进一步细化为线程(比 ...

  8. elementUI slider组件,带范围选择实现双向绑定

    网上查过很多相关文章都没有一章是写element ui滑块带范围实现双向绑定 二个滑块二头的数据怎么得到 我的需求是做个时间轴要滑动选择不同的时间 开始很难做最后一点一点摸索得出的结论 好在写出来了先 ...

  9. 美团面试:说说Netty的零拷贝技术?

    零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能. 那么问题来了,为什么零拷贝技术能提升 IO 性能? 1.零拷贝 ...

  10. 剑指Offer-55.链表中环的入口结点(C++/Java)

    题目: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 分析: 利用快慢指针,如果链表中存在环的话,则快指针一定在环中的某个节点与慢指针相遇. 设头节点到链表的环的入口结点 ...