|
|
|
@ -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)", |
|
|
|
|