前言:

学习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. 再谈中断机制(APIC)

    中断是硬件和软件交互的一种机制,可以说整个操作系统,整个架构都是由中断来驱动的.一个中断的起末会经历设备,中断控制器,CPU 三个阶段:设备产生中断信号,中断控制器翻译信号,CPU 来实际处理信号. ...

  2. C#.NET 逐行读取TXT文本

    C#.NET 逐行读取TXT文本 using System; using System.IO; class Program { static void Main() { string filePath ...

  3. C# .NET MVC 表单提交前校验数据等

    页面上写2个button,一个普通button,另一个是submit,submit的这个隐藏.校验函数写在普通button里,普通button click函数中去提交表单. 页面: <input ...

  4. java 日期 时间

    方法一(线程不安全, 不建议使用)private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" ...

  5. JSONObject应用Json字符串和Object对象之间的转换,Map封装数据思路

    JSONObject应用Json字符串和Object对象之间的转换,Map封装数据思路 package com.example.core.mydemo.json5; import com.alibab ...

  6. thinkpad t490触摸板失灵解决方法

    笔记本电脑之前触摸板使用正常,可能在某次更新之后,发现失灵不可用. 解决方法: 更新或滚动触摸板驱动程序 当您在设备管理器中时,右键单击列表中的触摸板(可能称为Dell TouchPad,Lenovo ...

  7. OpenCV + sklearnSVM 实现手写数字分割和识别

    这学期机器学习考核方式以大作业的形式进行考核,而且只能使用一些传统的机器学习算法. 综合再三,选择了自己比较熟悉的MNIST数据集以及OpenCV来完成手写数字的分割和识别作为大作业. 1. 数据集准 ...

  8. uboot 添加 自定义命令

    --- title: uboot-uboot 添加 自定义命令 date: 2020-05-13 16:51:38 categories: tags: - uboot - cmd - config - ...

  9. 一个用来画拉氏图的简单Python脚本

    技术背景 关于拉氏图的更多介绍,可以参考下这篇博客,这里简单引述一部分内容: Ramachandran plot(拉氏图)是由G. N. Ramachandran等人于1963年开发的,用来描述蛋白质 ...

  10. vol2以及mimikatz插件安装教程

    volatility2安装 https://github.com/volatilityfoundation/volatility git clone https://github.com/volati ...