ComfyUI插件:ComfyUI layer style 节点(三)
前言:
学习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 节点(三)的更多相关文章
- js动态创建style节点(js文件中添加css)
ie6 不能 document.createElement('style') 然后append到head标签里.所以就找到这样个好文章 --------------------- 有很多提供动态创建 ...
- Javascript动态创建 style 节点
有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件.如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时. 静态外部 css 文件语法: @import ...
- jQuery layer弹出层插件 http://layer.layui.com/直接上官网学
在许多网站中,经常用到弹出层,有时候为了达到更好的用户体验,你将写繁琐的css跟js,这款 jquery-layer可以让你想到即可做到的web弹窗/层js组件.layer侧重于用户灵活的自定义,为不 ...
- 小白也能看懂的插件化DroidPlugin原理(三)-- 如何拦截startActivity方法
前言:在前两篇文章中分别介绍了动态代理.反射机制和Hook机制,如果对这些还不太了解的童鞋建议先去参考一下前两篇文章.经过了前面两篇文章的铺垫,终于可以玩点真刀实弹的了,本篇将会通过 Hook 掉 s ...
- jqPlot图表插件学习之数据节点高亮和光标提示
一.准备工作 首先我们需要到官网下载所需的文件: 官网下载(笔者选择的是jquery.jqplot.1.0.8r1250.zip这个版本) 然后读者需要根据自己的情况新建一个项目并且按照如下的方式加载 ...
- 怎样获取所有style节点
通过 document.styleSheets 获取所有的样式表节点. document.styleSheets instanceof StyleSheetList; // true 注意: 1. 返 ...
- elk之插件部署 (实操三)
一.插件安装 下载head以及node软件包: elasticsearch-head.tar.gz node-v8.12.0-linux-x64.tar.gz 找不到这两个包的评论下留言或私我 解压软 ...
- 图片上传插件用法,JS语法【三】
注意点: 作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的.如:正确的写法是<inp ...
- 神奇的框架插件jquery layer
layer 的这个相册功能是不是很炫酷,是滴,这就是layer,只要添加一个layerjs就行了 //Javascript代码 layer.photos({ photos: '#photosDemo' ...
- Cordova各个插件使用介绍系列(三)—$cordovaImagePicker从手机图库选择多张图片
详情链接地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-3-cordovaimagepicker/ 这是能从手 ...
随机推荐
- linux系统下,安装docker教程,以CentOS8为例
查看本机的系统信息: 使用命令 lsb_release -a ,可以看到本机是CentOS系统,版本是8.4.2105 一.安装docker 1.Docker的安装要求CentOS系统内核版本要高于3 ...
- Zenlayer如何将万台设备监控从Zabbix迁移到Flashcat
作为全球首家以超连接为核心的云服务商,Zenlayer 致力于将云计算.内容服务和边缘技术融合,为客户提供全面的解决方案.通过构建可靠的网络架构和高效的数据传输,Zenlayer 帮助客户实现更快速. ...
- php反序列化个人笔记
反序列化 什么是反序列化? 格式转换 序列化:对象转换为字符串或者数组等格式 反序列化:将数组或字符串转换成对象 为什么会出现安全漏洞? 魔术方法 如何利用漏洞? 通过构造pop链,找到代码的逻辑漏洞 ...
- 在线RSA签名工具
在线RSA签名工具支持多种RSA签名算法,包括RSA-MD5.RSA-SHA1.RSA-SHA224.RSA-SHA256.RSA-SHA384和RSA-SHA512.用户只需上传需要签名的数据和私钥 ...
- Pycharm或cmd在Terminal中运行tensorboard、pip等python包
这个主要是添加python包的路径到环境变量里 因为装了anaconda,所以我们要找的是对应虚拟环境里的包路径,一般是放在anaconda安装路径下的anaconda3\envs\环境名\Scrip ...
- Stable Diffusion 生成个性图片指南
在当今人工智能领域,midjourney无疑是生成图片的王者,但是苦于付费才能使用,今天我就给大家分享一下midjourney平替stable diffusion,实现本地生成不逊色于midjourn ...
- 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest AGHIJM 题解
A. LaIS 设 \(dp_i\) 为到第 i 位的最长的 almost increasing 长度.可以发现,这个 \(dp_i\) 的转移只有从 \(a_j \leq a_i\) 的地方转移过去 ...
- .NET Core MVC基础之页面传值方式📃
.NET Core MVC基础之页面传值方式 前言 最近工作太忙了,浅浅更新一下.NET基础知识.大部分面试官都会问.NET页面传值的几种方式,那么接下来就来细讲与实现一下吧! 页面传值分成两类 第一 ...
- Spring Reactor基本介绍和案例
1. Reactor 对比 1.1 Reactor 线程模型 Reactor 线程模型就是通过 单个线程 使用 Java NIO 包中的 Selector 的 select()方法,进行监听.当获取到 ...
- Http基础协议
浏览器请求方法 http1.0定义了三种: GET: 向服务器获取资源,比如常见的查询请求 POST: 向服务器提交数据而发送的请求 Head: 和get类似,返回的响应中没有具体的内容,用于获取报头 ...