前言:

学习ComfyUI是一场持久战,而ComfyUI layer style 是一组专为图片设计制作且集成了Photoshop功能的强大节点。该节点几乎将PhotoShop的全部功能迁移到ComfyUI,诸如提供仿照Adobe Photoshop的图层样式、提供调整颜色功能(亮度、饱和度、对比度等)、提供Mask辅助工具、提供图层合成工具和工作流相关的辅助节点、提供图像效果滤镜等。旨在集中工作平台,使我们可以在ComfyUI中实现PhotoShop的一些基础功能。

目录

一、安装方式

二、LayerMask:MaskBoxDetect节点

三、LayerMask:SegmentAnythingUltra节点

四、LayerMask:SegmentAnythingUltraV2节点

五、LayerMask:RemBgUltra节点

六、LayerMask:RemBgUltraV2节点

七、LayerMask:BiRefNetUltra节点

八、LayerMask:Shadow & Highlight Mask节点

一、安装方式

方法一:通过ComfyUI Manager安装(推荐)

打开Manager界面

方法二:使用git clone命令安装

在ComfyUI/custom_nodes目录下输入cmd按回车进入电脑终端

在终端输入下面这行代码开始下载

git clone https://github.com/chflame163/ComfyUI_LayerStyle.git

二、LayerMask:MaskBoxDetect节点

这个节点的设计目的是通过自动检测图像中的目标对象,并为每个对象生成一个掩码框,以便在后续处理中使用。

输入:

mask → 输入遮罩

参数:

detect → 探测方法 **min_bounding_rect是大块形状最小外接矩形, max_inscribed_rect是大块形状最大内接矩形, mask_area是遮罩像素有效区域**

x_adjust → 修正探测之后的水平偏移

y_adjust → 修正探测之后的垂直偏移

scale_adjust → 修正探测之后的缩放偏移

输出:

box_preview → 探测结果预览图。红色表示探测到的结果,绿色表示加上修正后的输出结果

x_percent → 水平位置以百分比输出

y_percent → 垂直位置以百分比输出

width → 宽度输出

height → 高度输出

x → 左上角位置x坐标输出

y → 左上角位置y坐标输出

示例:

注意事项

· 检测模型选择:根据具体需求选择适合的检测模型,以获得最佳的检测效果。

· 检测阈值配置:根据具体需求设置检测阈值,确保检测结果准确且符合预期。较高的阈值可能导致漏检,较低的阈值可能导致误检。

· 输入图像质量:输入图像的质量会影响对象检测的效果,确保图像清晰且包含明确的目标对象。

· 处理性能:对象检测处理可能需要较高的计算资源,确保系统性能足够支持处理需求。

· 结果检查:检测完成后,检查生成的掩码框数据,确保每个掩码框准确对应检测到的对象,并且没有遗漏或误检。

通过使用LayerMask: MaskBoxDetect节点,可以在图像处理工作流程中实现高效的对象检测和掩码框生成,提升图像处理的自动化程度和准确性。

三、LayerMask:SegmentAnythingUltra节点

这个节点的设计目的是通过先进的图像分割算法,对图像中的对象进行精确分割,并生成相应的掩码,以便在后续处理中使用。

输入:

image → 输入图片

参数:

sam_model → 选择SAM模型

ground_dino_model → 选择Grounding DINO模型

threshold → SAM模型的阈值

detail_range → 边缘细节范围

black_point → 边缘黑色采样阈值

white_point → 边缘黑色采样阈值

process_detail → 此处设为False将跳过边缘处理以节省运行时间

prompt → SAM的prompt输入

输出:

image → 输出图片

mask → 分割目标的遮罩

注意:该节点需参照ComfyUI Segment Anything的安装方法安装模型。如果已经正确安装了ComfyUI Segment Anything,可跳过此步骤。

这里下载 config.json,model.safetensors,tokenizer_config.json,tokenizer.json 和 vocab.txt 5个文件到 ComfyUI/models/bert-base-uncased文件夹。

下载 GroundingDINO_SwinT_OGC config file, GroundingDINO_SwinT_OGC model, GroundingDINO_SwinB config file, GroundingDINO_SwinB model 到 ComfyUI/models/grounding-dino文件夹。

下载 sam_vit_h,sam_vit_l, sam_vit_b, sam_hq_vit_h, sam_hq_vit_l, sam_hq_vit_b, mobile_sam 这几个文件到ComfyUI/models/sams文件夹。

示例:

注意事项

· 分割模型选择:根据具体需求选择适合的分割模型,以获得最佳的分割效果。

· 细节级别配置:根据具体需求设置分割的细节级别,确保分割结果精细且符合预期。较高的细节级别可能需要更多的计算资源。

· 输入图像质量:输入图像的质量会影响分割效果,确保图像清晰且包含明确的目标对象。

· 处理性能:高级分割处理可能需要较高的计算资源,确保系统性能足够支持处理需求。

· 结果检查:分割完成后,检查生成的分割掩码数据,确保每个掩码区域准确对应分割出的对象,并且没有遗漏或误分。

通过使用LayerMask: SegmentAnythingUltra节点,可以在图像处理工作流程中实现高效的高级对象分割,提升图像处理的自动化程度和准确性,满足各种复杂图像处理需求

四、LayerMask:SegmentAnythingUltraV2节点

这个节点的设计目的是通过更高效、更精确的图像分割技术,对图像中的对象进行精确分割,并生成相应的掩码,以便在后续处理中使用。

输入:

image → 输入图片

参数:

sam_model → 选择SAM模型

ground_dino_model → 选择Grounding DINO模型

threshold → SAM模型的阈值

detail_method → 边缘处理方法

detail_erode → 遮罩边缘向内侵蚀范围 **数值越大,向内修复的范围越大**

detail_dilate → 遮罩边缘向外扩张范围 **数值越大,向外修复的范围越大**

black_point → 边缘黑色采样阈值

white_point → 边缘黑色采样阈值

process_detail → 此处设为False将跳过边缘处理以节省运行时间

prompt → SAM的prompt输入

输出:

image → 输出图片

mask → 分割目标的遮罩

示例:

注意事项

· 分割模型选择:根据具体需求选择适合的分割模型,以获得最佳的分割效果。

· 细节级别配置:根据具体需求设置分割的细节级别,确保分割结果精细且符合预期。较高的细节级别可能需要更多的计算资源。

· 输入图像质量:输入图像的质量会影响分割效果,确保图像清晰且包含明确的目标对象。

· 处理性能:高级分割处理可能需要较高的计算资源,确保系统性能足够支持处理需求。

· 结果检查:分割完成后,检查生成的分割掩码数据,确保每个掩码区域准确对应分割出的对象,并且没有遗漏或误分。

通过使用LayerMask: SegmentAnythingUltraV2节点,可以在图像处理工作流程中实现高效的高级对象分割,提升图像处理的自动化程度和准确性,满足各种复杂图像处理需求。

五、LayerMask:RemBgUltra节点

这个节点的设计目的是通过高效的图像处理算法,自动移除图像中的背景,只保留前景对象,从而使图像处理更加灵活和专业。

输入:

image → 输入图片

参数:

detail_range → 边缘细节范围

black_point → 边缘黑色采样阈值

white_point → 边缘黑色采样阈值

process_detail → 此处设为False将跳过边缘处理以节省运行时间

输出:

image → 输出图片

mask → 分割目标的遮罩

示例:使用该节点需将BRIA Background Removal v1.4模型文件(model.pth)下载至ComfyUI/models/rmbg/RMBG-1.4文件夹。

注意事项

· 处理模型选择:根据具体需求选择适合的背景移除模型,以获得最佳的处理效果。

· 移除强度配置:根据具体需求设置背景移除的强度,确保前景对象的边缘处理自然且不影响整体质量。

· 输入图像质量:输入图像的质量会影响背景移除的效果,确保图像清晰且前景对象与背景对比明显。

· 处理性能:高级背景移除处理可能需要较高的计算资源,确保系统性能足够支持处理需求。

· 结果检查:背景移除完成后,检查生成的无背景图像,确保前景对象完整且背景移除干净,没有残留或误移除部分。

通过使用LayerMask: RemBgUltra节点,可以在图像处理工作流程中实现高效的背景移除,提升图像处理的自动化程度和准确性,满足各种复杂图像处理需求。

六、LayerMask:RemBgUltraV2节点

这个节点用于高级背景移除任务,是LayerMask: RemBgUltra 节点的升级版。其设计目的是通过改进的图像处理算法,更加准确和高效地移除图像中的背景,只保留前景对象,从而使图像处理更加精确和专业。

输入:

image → 输入图片

参数:

detail_method → 边缘处理方法

detail_erode → 遮罩边缘向内侵蚀范围 **数值越大,向内修复的范围越大**

detail_dilate → 遮罩边缘向外扩张范围 **数值越大,向外修复的范围越大**

black_point → 边缘黑色采样阈值

white_point → 边缘黑色采样阈值

process_detail → 此处设为False将跳过边缘处理以节省运行时间

输出:

image → 输出图片

mask → 分割目标的遮罩

示例:

七、LayerMask:BiRefNetUltra节点

这个节点是一个高级图像处理节点,专门用于通过双参考网络(Bi-Reference Network)进行高精度的图像分割和背景移除。

输入:

image → 输入图片

参数:

detail_method → 边缘处理方法 **提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)**

detail_erode → 遮罩边缘向内侵蚀范围 **数值越大,向内修复的范围越大**

detail_dilate → 遮罩边缘向外扩张范围 **数值越大,向外修复的范围越大**

black_point → 边缘黑色采样阈值

white_point → 边缘黑色采样阈值

process_detail → 此处设为False将跳过边缘处理以节省运行时间

输出:

image → 输出图片

mask → 分割目标的遮罩

示例:

注意事项

· 参考图像选择:选择与目标图像相似的参考图像,以帮助提高分割和背景移除的精度。

· 处理模型选择:根据具体需求选择适合的双参考网络模型,以获得最佳的处理效果。

· 细节级别配置:根据具体需求设置分割的细节级别,确保分割结果精细且符合预期。较高的细节级别可能需要更多的计算资源。

· 输入图像质量:输入图像和参考图像的质量会影响分割效果,确保图像清晰且前景对象与背景对比明显。

通过使用LayerMask: BiRefNetUltra节点,可以在图像处理工作流程中实现高效且高精度的图像分割和背景移除。

八、LayerMask:Shadow & Highlight Mask节点

这个节点的设计目的是通过识别图像中的亮部和暗部,生成相应的掩码,以便在后续处理中使用这些掩码进行特定区域的处理或增强。

输入:

image → 输入图片

mask → 输入遮罩

参数:

shadow_level_offset → 暗部取值的偏移量 **更大的数值使更多靠近明亮的区域纳入暗部**

shadow_range → 暗部的过渡范围

highlight_level_offset → 亮部取值的偏移量 **更小的数值使更多靠近阴暗的区域纳入亮部**

highlight_range → 亮部的过渡范围

输出:

shadow_mask → 暗部遮罩

highlight_mask → 亮部遮罩

示例:

注意事项

· 阈值配置:根据具体需求设置阴影和高光的阈值,确保识别结果准确且符合预期。较低的阈值可能导致阴影区域过大,较高的阈值可能导致高光区域过小。

· 输入图像质量:输入图像的质量会影响阴影和高光识别的效果,确保图像清晰且亮度分布均匀。

· 处理性能:阴影和高光识别处理可能需要一定的计算资源,确保系统性能足够支持处理需求。

· 结果检查:识别和掩码生成完成后,检查生成的阴影掩码和高光掩码,确保每个掩码区域准确对应识别出的阴影和高光区域,并且没有遗漏或误识别部分。

通过使用LayerMask: Shadow & Highlight Mask节点,可以在图像处理工作流程中实现高效的阴影和高光区域识别,生成用于后续处理的精确掩码。

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

ComfyUI插件:ComfyUI layer style 节点(三)的更多相关文章

  1. js动态创建style节点(js文件中添加css)

    ie6 不能 document.createElement('style') 然后append到head标签里.所以就找到这样个好文章 --------------------- 有很多提供动态创建 ...

  2. Javascript动态创建 style 节点

    有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件.如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时. 静态外部 css 文件语法: @import ...

  3. jQuery layer弹出层插件 http://layer.layui.com/直接上官网学

    在许多网站中,经常用到弹出层,有时候为了达到更好的用户体验,你将写繁琐的css跟js,这款 jquery-layer可以让你想到即可做到的web弹窗/层js组件.layer侧重于用户灵活的自定义,为不 ...

  4. 小白也能看懂的插件化DroidPlugin原理(三)-- 如何拦截startActivity方法

    前言:在前两篇文章中分别介绍了动态代理.反射机制和Hook机制,如果对这些还不太了解的童鞋建议先去参考一下前两篇文章.经过了前面两篇文章的铺垫,终于可以玩点真刀实弹的了,本篇将会通过 Hook 掉 s ...

  5. jqPlot图表插件学习之数据节点高亮和光标提示

    一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...

  6. 怎样获取所有style节点

    通过 document.styleSheets 获取所有的样式表节点. document.styleSheets instanceof StyleSheetList; // true 注意: 1. 返 ...

  7. elk之插件部署 (实操三)

    一.插件安装 下载head以及node软件包: elasticsearch-head.tar.gz node-v8.12.0-linux-x64.tar.gz 找不到这两个包的评论下留言或私我 解压软 ...

  8. 图片上传插件用法,JS语法【三】

    注意点: 作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的.如:正确的写法是<inp ...

  9. 神奇的框架插件jquery layer

    layer 的这个相册功能是不是很炫酷,是滴,这就是layer,只要添加一个layerjs就行了 //Javascript代码 layer.photos({ photos: '#photosDemo' ...

  10. Cordova各个插件使用介绍系列(三)—$cordovaImagePicker从手机图库选择多张图片

    详情链接地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-3-cordovaimagepicker/ 这是能从手 ...

随机推荐

  1. vue3 elementui plus Select 选择器不选择下拉框里面的数据得到的value值

    我们先来看 我点击弹框出现什么都不做 直接点击确定 看传参 tableId,timeColumnId,userColumnId直接是名称而没有获取value值 看下下拉框里面的数据 而我想直接点击获取 ...

  2. LeetCode 451. Sort Characters By Frequency 根据字符出现频率排序 (C++/Java)

    题目: Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Inp ...

  3. 关于 ulimit 的两个天坑

    稍微有点 Linux 经验的人一定会遇到过 "Too many open files" 错误,这个错误本质是 ulimit 设置不合理导致的.关于 ulimit 设置,有哪些需要注 ...

  4. debian使用桌面管理器管理多个桌面系统

    环境:debian12.x 前言:我安装了debian12版本的操作系统在虚拟机中,在安装的时候选择的是KDE桌面,便于以后日常使用linux操作系统 在安装KDE桌面后,会自动安装一个sddm,sd ...

  5. FolkMQ 1.6.0(纯血国产,适合信创)

    FolkMQ 是个"新式"的消息中间件.强调:"简而强".可内嵌,可单机,可集群(部署包为 9Mb). 功能简表 角色 功能 生产者(客户端) 发布普通消息.Q ...

  6. 记一次 MatPlotLib 报错及解决方案:AttributeError: module 'matplotlib.cbook' has no attribute '_Stack'

    记一次 MatPlotLib 报错及解决方案 目录 记一次 MatPlotLib 报错及解决方案 解决方法 具体发生了什么 报错 log 1 内容 报错 log 2 内容 最近出现 MatPlotLi ...

  7. 缺氧debu模式

    OxygenNotIncluded_Data(E:\SteamLibrary\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data) 文件 ...

  8. Codeforces Round 894 (Div. 3) A-E cd 894 div3

    A. Gift Carpet 每道题都是伸缩代码框有ac代码请不要漏掉 --------------------------题解----------------------------- 按先行便然后 ...

  9. 如何将自己的网站从 HTTP 的转换为 HTTPS 的

    1. 获取 SSL/TLS 证书 首先,你需要获得一个 SSL/TLS 证书.你可以从以下来源之一获取证书: 免费证书: Let's Encrypt:一个免费的.自动化的证书颁发机构(CA),广泛使用 ...

  10. P7687 题解

    考场上数组开大了直接 MLE 了,气. 考虑把 A,B 两种服务分开算,一个边双连通分量内的点如过有一个有服务,那么整个联通分量就都有服务. 然后按边双联通分量缩点后原图变成树,一条边是关键路线当且仅 ...