new control mask module

This commit is contained in:
Vladimir Mandic
2024-01-14 13:35:53 -05:00
parent cb2c9236c9
commit c39a76dce3
7 changed files with 310 additions and 219 deletions
+4 -2
View File
@@ -17,6 +17,7 @@ import modules.prompt_parser_diffusers as prompt_parser_diffusers
from modules.sd_hijack_hypertile import hypertile_set
from modules.processing_correction import correction_callback
from modules.processing_vae import vae_encode, vae_decode
from modules.masking import run_mask
debug = shared.log.trace if os.environ.get('SD_DIFFUSERS_DEBUG', None) is not None else lambda *args, **kwargs: None
@@ -167,9 +168,10 @@ def process_diffusers(p: StableDiffusionProcessing):
elif (sd_models.get_diffusers_task(model) == sd_models.DiffusersTaskType.INPAINTING or is_img2img_model) and len(getattr(p, 'init_images' ,[])) > 0:
p.ops.append('inpaint')
if p.task_args.get('mask_image', None) is not None: # provided as override by a module
p.mask = shared.sd_model.mask_processor.blur(p.task_args['mask_image'], blur_factor=p.mask_blur) if p.mask_blur > 0 else p.task_args['mask_image']
# p.mask = shared.sd_model.mask_processor.blur(p.task_args['mask_image'], blur_factor=p.mask_blur) if p.mask_blur > 0 else p.task_args['mask_image']
p.mask = run_mask(input_image=p.init_images, input_mask=p.task_args['mask_image'], return_type='grayscale')
elif getattr(p, 'image_mask', None) is not None: # standard
p.mask = p.image_mask
p.mask = run_mask(input_image=p.init_images, input_mask=p.image_mask, return_type='grayscale')
elif getattr(p, 'mask', None) is not None: # backward compatibility
pass
else: # fallback