2.6 KiB
2.6 KiB
Documentation
- Class name: SEGSPreviewCNet
- Category: ImpactPack/Util
- Output node: True
- Repo Ref: https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
SEGSPreviewCNet 是一个用于处理和预览分割结果的节点。它接受分割数据作为输入,并生成一系列预览图像,增强了对分割工作的可视化检查和分析。该节点在提供分割工作的可视化摘要方面至关重要,允许快速评估并在需要时进行进一步操作。
Input types
Required
- segs
- 'ssegs' 参数对于节点的操作至关重要,因为它提供了节点将处理的分割数据。这是一个必需的输入,它通过确定生成的预览图像的内容直接影响节点的输出。
- Comfy dtype: SEGS
- Python dtype: List[Tuple[str, SEG]]
Output types
- ui
- 输出中的 'ui' 参数非常重要,因为它包含了将显示给用户的用户界面元素。它包括代表分割预览的图像列表,这对于用户交互和视觉反馈至关重要。
- Comfy dtype: DICT
- Python dtype: Dict[str, Any]
- result
- 输出中的 'result' 参数是节点处理的图像集合。它是节点的主要输出,包含了分割数据的视觉表示,这是节点功能的主要目标。
- Comfy dtype: COMBO[IMAGE]
- Python dtype: Tuple[List[Image.Image], ...]
Usage tips
- Infra type: CPU
Source code
class SEGSPreviewCNet:
def __init__(self):
self.output_dir = folder_paths.get_temp_directory()
self.type = 'temp'
@classmethod
def INPUT_TYPES(s):
return {'required': {'segs': ('SEGS',)}}
RETURN_TYPES = ('IMAGE',)
OUTPUT_IS_LIST = (True,)
FUNCTION = 'doit'
CATEGORY = 'ImpactPack/Util'
OUTPUT_NODE = True
def doit(self, segs):
(full_output_folder, filename, counter, subfolder, filename_prefix) = folder_paths.get_save_image_path('impact_seg_preview', self.output_dir, segs[0][1], segs[0][0])
results = list()
result_image_list = []
for seg in segs[1]:
file = f'{filename}_{counter:05}_.webp'
if seg.control_net_wrapper is not None and seg.control_net_wrapper.control_image is not None:
cnet_image = seg.control_net_wrapper.control_image
result_image_list.append(cnet_image)
else:
cnet_image = empty_pil_tensor(64, 64)
cnet_pil = utils.tensor2pil(cnet_image)
cnet_pil.save(os.path.join(full_output_folder, file))
results.append({'filename': file, 'subfolder': subfolder, 'type': self.type})
counter += 1
return {'ui': {'images': results}, 'result': (result_image_list,)}