bbbboiwow's picture
Upload folder using huggingface_hub
edb09f2 verified
Raw
History Blame Contribute Delete
2.32 kB
import math, cv2, random, torch, torchvision, json, os
import numpy as np
from PIL import Image, ImageOps, ImageSequence
import nodes, folder_paths # 기본노드, 파일로드
class abyz22_SaveImage:
def __init__(self):
self.output_dir = folder_paths.get_output_directory()
self.type = "output"
self.prefix_append = ""
self.compress_level = 4
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"images": ("IMAGE",),
"folder_path": ("STRING", {"default": ""}),
},
"hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},
}
RETURN_TYPES = ()
FUNCTION = "save_images"
OUTPUT_NODE = True
CATEGORY = "abyz22"
def save_images(self, images, folder_path, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None):
filename_prefix += self.prefix_append
_, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(
filename_prefix, self.output_dir, images[0].shape[1], images[0].shape[0]
)
if not os.path.exists(folder_path):
os.mkdir(folder_path)
full_output_folder = folder_path
file_list = os.listdir(folder_path)
file_list = [f for f in file_list if ".png" in f]
file_list = [int(f.split(".")[0].split("-")[1]) for f in file_list]
file_list.sort(reverse=True)
counter = 1 if len(file_list) == 0 else file_list[0] + 1
file_list = os.listdir(folder_path)
for file in file_list:
if ".zip" in file:
counter = 1
results = list()
for image in images:
i = 255.0 * image.cpu().numpy()
img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8))
if folder_path != "no-data":
folder_num = folder_path.rsplit("/", 1)[1]
file = f"{folder_num}-{counter}.png"
img.save(os.path.join(full_output_folder, file), pnginfo=None, compress_level=self.compress_level)
results.append({"filename": file, "subfolder": subfolder, "type": self.type})
counter += 1
return {"ui": {"images": results}}