|
|
|
@ -1448,6 +1448,22 @@ class ImageInvert:
|
|
|
|
|
s = 1.0 - image
|
|
|
|
|
return (s,)
|
|
|
|
|
|
|
|
|
|
class ImageBatch:
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
def INPUT_TYPES(s):
|
|
|
|
|
return {"required": { "image1": ("IMAGE",), "image2": ("IMAGE",)}}
|
|
|
|
|
|
|
|
|
|
RETURN_TYPES = ("IMAGE",)
|
|
|
|
|
FUNCTION = "batch"
|
|
|
|
|
|
|
|
|
|
CATEGORY = "image"
|
|
|
|
|
|
|
|
|
|
def batch(self, image1, image2):
|
|
|
|
|
if image1.shape[1:] != image2.shape[1:]:
|
|
|
|
|
image2 = comfy.utils.common_upscale(image2.movedim(-1,1), image1.shape[2], image1.shape[1], "bilinear", "center").movedim(1,-1)
|
|
|
|
|
s = torch.cat((image1, image2), dim=0)
|
|
|
|
|
return (s,)
|
|
|
|
|
|
|
|
|
|
class ImagePadForOutpaint:
|
|
|
|
|
|
|
|
|
@ -1533,6 +1549,7 @@ NODE_CLASS_MAPPINGS = {
|
|
|
|
|
"ImageScale": ImageScale,
|
|
|
|
|
"ImageScaleBy": ImageScaleBy,
|
|
|
|
|
"ImageInvert": ImageInvert,
|
|
|
|
|
"ImageBatch": ImageBatch,
|
|
|
|
|
"ImagePadForOutpaint": ImagePadForOutpaint,
|
|
|
|
|
"ConditioningAverage ": ConditioningAverage ,
|
|
|
|
|
"ConditioningCombine": ConditioningCombine,
|
|
|
|
@ -1627,6 +1644,7 @@ NODE_DISPLAY_NAME_MAPPINGS = {
|
|
|
|
|
"ImageUpscaleWithModel": "Upscale Image (using Model)",
|
|
|
|
|
"ImageInvert": "Invert Image",
|
|
|
|
|
"ImagePadForOutpaint": "Pad Image for Outpainting",
|
|
|
|
|
"ImageBatch": "Batch Images",
|
|
|
|
|
# _for_testing
|
|
|
|
|
"VAEDecodeTiled": "VAE Decode (Tiled)",
|
|
|
|
|
"VAEEncodeTiled": "VAE Encode (Tiled)",
|
|
|
|
|