65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
|
|
# Documentation
|
|
- Class name: Contour To Mask
|
|
- Category: Bmad/CV/Contour
|
|
- Output node: False
|
|
- Repo Ref: https://github.com/bmad4ever/ComfyUI-Bmad-Custom-Nodes
|
|
|
|
此节点旨在将轮廓转换为掩码图像,同时利用指定的输出格式。它有效地将轮廓定义的形状转换为二值掩码,可用于各种图像处理任务。
|
|
|
|
# Input types
|
|
## Required
|
|
- image
|
|
- 需要在其上绘制轮廓的输入图像。它作为创建掩码过程的基础。
|
|
- Comfy dtype: IMAGE
|
|
- Python dtype: torch.Tensor
|
|
- contour
|
|
- 需要转换为掩码的轮廓。它定义了将在掩码中填充的形状。
|
|
- Comfy dtype: CV_CONTOUR
|
|
- Python dtype: 代表计算机视觉任务中轮廓的自定义类型
|
|
- output_format
|
|
- 指定掩码图像所需的输出格式,允许灵活地在下游使用掩码。
|
|
- Comfy dtype: COMBO[STRING]
|
|
- Python dtype: 表示不同图像输出格式的枚举
|
|
|
|
# Output types
|
|
- image
|
|
- 生成的掩码图像,其中指定的轮廓已被填充以创建二值掩码。
|
|
- Comfy dtype: IMAGE
|
|
- Python dtype: torch.Tensor
|
|
|
|
|
|
## Usage tips
|
|
- Infra type: `GPU`
|
|
- Common nodes: unknown
|
|
|
|
|
|
## Source code
|
|
```python
|
|
class ContourToMask:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"image": ("IMAGE",),
|
|
"contour": ("CV_CONTOUR",),
|
|
"output_format": (image_output_formats_options, {
|
|
"default": image_output_formats_options[0]
|
|
})
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("IMAGE",)
|
|
FUNCTION = "draw"
|
|
CATEGORY = "Bmad/CV/Contour"
|
|
|
|
def draw(self, image, contour, output_format):
|
|
image = tensor2opencv(image, 1)
|
|
image = np.zeros(image.shape, dtype=np.uint8)
|
|
cv.drawContours(image, [contour], 0, (255), -1)
|
|
image = maybe_convert_img(image, 1, image_output_formats_options_map[output_format])
|
|
image = opencv2tensor(image)
|
|
return (image,)
|
|
|
|
```
|