Spaces:
Building
on
A10G
Building
on
A10G
#From https://github.com/kornia/kornia | |
import math | |
import torch | |
import torch.nn.functional as F | |
import comfy.model_management | |
from kornia.filters import canny | |
class Canny: | |
def INPUT_TYPES(s): | |
return {"required": {"image": ("IMAGE",), | |
"low_threshold": ("FLOAT", {"default": 0.4, "min": 0.01, "max": 0.99, "step": 0.01}), | |
"high_threshold": ("FLOAT", {"default": 0.8, "min": 0.01, "max": 0.99, "step": 0.01}) | |
}} | |
RETURN_TYPES = ("IMAGE",) | |
FUNCTION = "detect_edge" | |
CATEGORY = "image/preprocessors" | |
def detect_edge(self, image, low_threshold, high_threshold): | |
output = canny(image.to(comfy.model_management.get_torch_device()).movedim(-1, 1), low_threshold, high_threshold) | |
img_out = output[1].to(comfy.model_management.intermediate_device()).repeat(1, 3, 1, 1).movedim(1, -1) | |
return (img_out,) | |
NODE_CLASS_MAPPINGS = { | |
"Canny": Canny, | |
} | |