Files
CavinHuang-comfyui-nodes-docs/docs/SaltMaskMinorityRegion.md
2024-07-04 08:39:03 +08:00

64 lines
1.9 KiB
Markdown

# 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
```python
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,)
```