From 7045c846435cf5c9547729c60e85c386e78c90ed Mon Sep 17 00:00:00 2001 From: fuzzytent Date: Wed, 7 Sep 2022 22:37:54 +0200 Subject: Also use alpha channel from img2img input image as mask --- modules/img2img.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'modules/img2img.py') diff --git a/modules/img2img.py b/modules/img2img.py index 3129798d..1e734ac8 100644 --- a/modules/img2img.py +++ b/modules/img2img.py @@ -1,5 +1,5 @@ import math -from PIL import Image +from PIL import Image, ImageOps, ImageChops from modules.processing import Processed, StableDiffusionProcessingImg2Img, process_images from modules.shared import opts, state @@ -16,7 +16,9 @@ def img2img(prompt: str, init_img, init_img_with_mask, steps: int, sampler_index if is_inpaint: image = init_img_with_mask['image'] - mask = init_img_with_mask['mask'] + alpha_mask = ImageOps.invert(image.split()[-1]).convert('L').point(lambda x: 255 if x > 0 else 0, mode='1') + mask = ImageChops.lighter(alpha_mask, init_img_with_mask['mask'].convert('L')).convert('RGBA') + image = image.convert('RGB') else: image = init_img mask = None -- cgit v1.2.1