KJNodes/maskinggenerated
Separate Masks(SeparateMasks)
该节点基于计算机视觉库(如 OpenCV)实现,通过检测输入遮罩中的轮廓来识别独立的连通区域。
Separate Masks
mask
mask
size_threshold_width
256
size_threshold_height
256
mode
COMBO
max_poly_points
8
KJNodes
Separate Masks 节点,该节点基于计算机视觉库(如 OpenCV)实现,通过检测输入遮罩中的轮廓来识别独立的连通区域。
Separate Masks 节点是一个用于处理遮罩的工具。其核心功能是将一个包含多个不连续区域的输入遮罩,根据设定的条件分离成多个独立的遮罩。它通过识别遮罩中的连接式区域,并依据尺寸或形状进行筛选和分割,从而简化对复杂遮罩区域的管理和后续操作。
节点功能
该节点基于计算机视觉库(如 OpenCV)实现,通过检测输入遮罩中的轮廓来识别独立的连接式区域。它提供了三种分离模式(convex_polygons、area、box),每种模式采用不同的算法来处理和输出遮罩。处理后的输出是一个包含多个独立遮罩的批处理,便于在工作流中分别使用。
节点参数说明 - Separate Masks
输入
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 描述 |
|---|---|---|---|---|---|
mask | MASK | 是 | - | - | 需要分割的输入遮罩。 |
参数
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 描述 |
|---|---|---|---|---|---|
mode | COMBO | 是 | convex_polygons | "convex_polygons", "area", "box" | 分离模式。选项:convex_polygons(使用凸多边形近似轮廓)、area(基于区域尺寸过滤)、box(基于边界框尺寸过滤)。 |
size_threshold_width | INT | 是 | 256 | 0.0 - 4096(间距:1) | 设置宽度尺寸阈值,用于过滤区域。 |
size_threshold_height | INT | 是 | 256 | 0.0 - 4096(间距:1) | 设置高度尺寸阈值,用于过滤区域。 |
max_poly_points | INT | 是 | 8 | 3 - 32(间距:1) | 控制在 convex_polygons 模式下用于近似轮廓的最大多边形顶点数。 |
输出
| 参数名称 | 数据类型 | 描述 |
|---|---|---|
| mask | MASK | 输出分离后得到的多个独立遮罩。 |
使用场景
在图像编辑或区域特定生成的工作流中,此节点非常有用。例如,当您有一张包含多个分散物体的语义分割遮罩时,可以使用此节点将每个物体分离成独立的遮罩,然后分别对每个物体应用不同的图像处理节点(如重绘、上色或风格转换),实现精细化控制。
注意事项
请注意,节点的分离效果依赖于输入遮罩的质量和连接性。对于边缘模糊或粘连严重的区域,分离可能不够精确。此外,max_poly_points 参数会影响多边形近似模式的精度,需根据所需细节程度进行调整。
Separate Masks 节点源码链接
Separate Masks 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。