Files
AlekPet-ComfyUI_Custom_Node…/PoseNode/pose_node.py
T
2023-07-11 12:06:32 +03:00

49 lines
1.2 KiB
Python

import hashlib
import os
from PIL import Image
import torch
import numpy as np
import folder_paths
class PoseNode(object):
@classmethod
def INPUT_TYPES(self):
temp_dir = folder_paths.get_temp_directory()
if not os.path.isdir(temp_dir):
os.makedirs(temp_dir)
temp_dir = folder_paths.get_temp_directory()
return {"required":
{"image": (sorted(os.listdir(temp_dir)), )},
}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "output_pose"
CATEGORY = "AlekPet Nodes/image"
def output_pose(self, image):
image_path = os.path.join(
folder_paths.get_temp_directory(), image)
#print(f"Create: {image_path}")
i = Image.open(image_path)
image = i.convert("RGB")
image = np.array(image).astype(np.float32) / 255.0
image = torch.from_numpy(image)[None,]
return (image,)
@classmethod
def IS_CHANGED(self, image):
image_path = os.path.join(
folder_paths.get_temp_directory(), image)
#print(f'Change: {image_path}')
m = hashlib.sha256()
with open(image_path, 'rb') as f:
m.update(f.read())
return m.digest().hex()