Skip to content

Instantly share code, notes, and snippets.

@BlenderNeko
Created May 26, 2023 21:23
Show Gist options
  • Save BlenderNeko/c12ec5a96438ad03809003de034121dd to your computer and use it in GitHub Desktop.
Save BlenderNeko/c12ec5a96438ad03809003de034121dd to your computer and use it in GitHub Desktop.
standalone preprocessor node for inpaint cnet
import torch
class Inpaint_Preprocessor:
@classmethod
def INPUT_TYPES(s):
return {"required": { "image": ("IMAGE",), "mask": ("MASK",)}}
RETURN_TYPES = ("IMAGE",)
FUNCTION = "preprocess"
CATEGORY = "preprocessors/inpaint"
def preprocess(self, image, mask):
mask = torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(image.shape[1], image.shape[2]), mode="bilinear")
mask = mask.movedim(1,-1).expand((-1,-1,-1,3))
image = image.clone()
image[mask > 0.5] = -1.0 # set as masked pixel
return (image, )
NODE_CLASS_MAPPINGS = {
"InpaintPreprocessor": Inpaint_Preprocessor,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment