Files
CavinHuang-comfyui-nodes-docs/docs/Convert Masks to Images.md
2024-05-26 20:35:16 +08:00

2.0 KiB

Documentation

WAS_Mask_To_Image节点旨在将掩码数据转换为图像格式。它能够智能地处理各种维度的掩码输入,确保与不同类型的掩码数据兼容。此节点在转换过程中发挥关键作用,使得从掩码表示到视觉图像的过渡变得无缝。

Input types

Required

  • masks
    • 'masks'参数对于节点的操作至关重要,因为它定义了需要转换为图像的输入掩码数据。该参数对节点执行的影响很大,因为它直接影响输出图像的质量和表示。
    • Comfy dtype: MASK
    • Python dtype: Union[torch.Tensor, List[torch.Tensor]]

Output types

  • IMAGES
    • 'IMAGES'输出参数代表从输入掩码转换得到的图像数据。它是一个关键的输出,因为它标志着掩码数据成功转换为可以进一步处理或显示的可视化格式。
    • Comfy dtype: IMAGE
    • Python dtype: torch.Tensor

Usage tips

  • Infra type: CPU

Source code

class WAS_Mask_To_Image:

    def __init__(self):
        pass

    @classmethod
    def INPUT_TYPES(cls):
        return {'required': {'masks': ('MASK',)}}
    CATEGORY = 'WAS Suite/Image/Masking'
    RETURN_TYPES = ('IMAGE',)
    RETURN_NAMES = ('IMAGES',)
    FUNCTION = 'mask_to_image'

    def mask_to_image(self, masks):
        if masks.ndim == 4:
            tensor = masks.permute(0, 2, 3, 1)
            tensor_rgb = torch.cat([tensor] * 3, dim=-1)
            return (tensor_rgb,)
        elif masks.ndim == 3:
            tensor = masks.unsqueeze(-1)
            tensor_rgb = torch.cat([tensor] * 3, dim=-1)
            return (tensor_rgb,)
        elif masks.ndim == 2:
            tensor = masks.unsqueeze(0).unsqueeze(-1)
            tensor_rgb = torch.cat([tensor] * 3, dim=-1)
            return (tensor_rgb,)
        else:
            cstr('Invalid input shape. Expected [N, C, H, W] or [H, W].').error.print()
            return masks