1.9 KiB
1.9 KiB
Documentation
- Class name: SaltMaskMinorityRegion
- Category: SALT/Masking/Filter
- Output node: False
该节点旨在识别和分离给定蒙版集合中的少数区域,通过应用阈值来区分这些区域。它专注于突出蒙版数据中不太普遍的特征,可能用于进一步分析或处理。
Input types
Required
- masks
- masks输入代表要处理的蒙版图像集合,目的是识别每个蒙版中的少数区域。
- Comfy dtype: MASK
- Python dtype: torch.Tensor
- threshold
- threshold参数决定了少数区域检测的灵敏度,影响哪些区域基于其像素强度被视为少数区域。
- Comfy dtype: INT
- Python dtype: int
Output types
- MASKS
- 输出是一个蒙版张量,每个蒙版对应原始输入蒙版中分离出的少数区域。
- Comfy dtype: MASK
- Python dtype: torch.Tensor
Usage tips
- Infra type:
GPU - Common nodes: unknown
Source code
class SaltMaskMinorityRegion:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"masks": ("MASK",),
"threshold": ("INT", {"default":128, "min":0, "max":255, "step":1}),
}
}
CATEGORY = f"{NAME}/Masking/Filter"
RETURN_TYPES = ("MASK",)
RETURN_NAMES = ("MASKS",)
FUNCTION = "minority_region"
def minority_region(self, masks, threshold=128):
if not isinstance(threshold, list):
threshold = [threshold]
regions = []
for i, mask in enumerate(masks):
pil_image = mask2pil(mask.unsqueeze(0))
region_mask = MaskFilters.minority_region(pil_image, int(threshold[i if i < len(threshold) else -1]))
region_tensor = pil2mask(region_mask)
regions.append(region_tensor)
regions_tensor = torch.cat(regions, dim=0)
return (regions_tensor,)