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/ 这是能从手 ...
随机推荐
- 程序员面试金典-面试题 16.25. LRU缓存
题目: 设计和构建一个"最近最少使用"缓存,该缓存会删除最近最少使用的项目.缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量.当缓存被填满时,它应该 ...
- 使用 JavaScript 脚本来进行复杂的查询改写
有这么一个需求: 网关里怎样对跨集群搜索进行支持的呢?我想实现: 输入的搜索请求是 lp:9200/index1/_search 这个索引在 3 个集群上,需要跨集群检索,也就是网关能否改成 lp:9 ...
- http请求方式-CloseableHttpClient
http请求方式-CloseableHttpClient import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObjec ...
- 高通与At指令:AtCop解析
背景 在某个新基线上移植AT指令,发现有问题,因此收集了这个系列的 文章 作为 这方面的知识补充. 原文作者:laozhuxinlu,本文有删改. 另外,还参考了:https://www.cnblog ...
- nginx 如何利用gzip压缩配置来优化网站访问速度
前言: 最近公司设计的网站前端是基于nuxt架构的,部署到nginx上后,首页的访问以及二级页面的访问极慢,f12观察后发现主要是一些js页面加载极慢拉低了网站的访问速度,于是便想到利用nginx里的 ...
- 用const修饰指针
1)常量指针 语法:const 数据类型 *变量名; 不能通过解引用的方法修改内存地址中的值(用原始的变量名是可以修改的). 注意: l 指向的变量(对象)可以改变(之前是指向变量a的,后来可以改为指 ...
- MyBatis学习篇
什么是MyBatis (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement等繁杂 ...
- HTML手稿
没有一张图解决不了的事:https://www.processon.com/mindmap/5ccebc48e4b0841b844a23fb 1.网页中web 标准的三层组成? W3C 万维网联盟 结 ...
- Java智能之Spring AI:5分钟打造智能聊天模型的利器
前言 尽管Python最近成为了编程语言的首选,但是Java在人工智能领域的地位同样不可撼动,得益于强大的Spring框架.随着人工智能技术的快速发展,我们正处于一个创新不断涌现的时代.从智能语音助手 ...
- h5使用js拉起微信支付
近期,业务需求对接了微信支付,做个总结.web网页想要拉起微信支付,有两种方法: H5下单支付 , JSAPI支付 .首先纯前端做不了微信支付,必须配合后端才能通过微信的下单请求.接下来说说这两种方法 ...