aboutsummaryrefslogtreecommitdiff
path: root/modules/processing.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-12-03 19:58:14 +0300
committerGitHub <noreply@github.com>2023-12-03 19:58:14 +0300
commit2d5507fce5fa088053fbe5bacaf458397845660c (patch)
tree37c2566c4e56ed7baefe4da5be18ab4b608f2098 /modules/processing.py
parentb4776ea3a236c07041940ba78a50e25bc5c9a06f (diff)
parentd3fdc4af61b7560eede52290e1ede48185680089 (diff)
Merge pull request #14181 from AUTOMATIC1111/rework-mask-and-mask_composite-logic
slight optimization for mask and mask_composite
Diffstat (limited to 'modules/processing.py')
-rw-r--r--modules/processing.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/modules/processing.py b/modules/processing.py
index 4f265801..6f01c95f 100644
--- a/modules/processing.py
+++ b/modules/processing.py
@@ -938,21 +938,20 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed:
if opts.enable_pnginfo:
image.info["parameters"] = text
output_images.append(image)
- if hasattr(p, 'mask_for_overlay') and p.mask_for_overlay and any([opts.save_mask, opts.save_mask_composite, opts.return_mask, opts.return_mask_composite]):
- image_mask = p.mask_for_overlay.convert('RGB')
- image_mask_composite = Image.composite(image.convert('RGBA').convert('RGBa'), Image.new('RGBa', image.size), images.resize_image(2, p.mask_for_overlay, image.width, image.height).convert('L')).convert('RGBA')
-
- if save_samples and opts.save_mask:
- images.save_image(image_mask, p.outpath_samples, "", p.seeds[i], p.prompts[i], opts.samples_format, info=infotext(i), p=p, suffix="-mask")
-
- if save_samples and opts.save_mask_composite:
- images.save_image(image_mask_composite, p.outpath_samples, "", p.seeds[i], p.prompts[i], opts.samples_format, info=infotext(i), p=p, suffix="-mask-composite")
-
- if opts.return_mask:
- output_images.append(image_mask)
-
- if opts.return_mask_composite:
- output_images.append(image_mask_composite)
+ if hasattr(p, 'mask_for_overlay') and p.mask_for_overlay:
+ if opts.return_mask or opts.save_mask:
+ image_mask = p.mask_for_overlay.convert('RGB')
+ if save_samples and opts.save_mask:
+ images.save_image(image_mask, p.outpath_samples, "", p.seeds[i], p.prompts[i], opts.samples_format, info=infotext(i), p=p, suffix="-mask")
+ if opts.return_mask:
+ output_images.append(image_mask)
+
+ if opts.return_mask_composite or opts.save_mask_composite:
+ image_mask_composite = Image.composite(image.convert('RGBA').convert('RGBa'), Image.new('RGBa', image.size), images.resize_image(2, p.mask_for_overlay, image.width, image.height).convert('L')).convert('RGBA')
+ if save_samples and opts.save_mask_composite:
+ images.save_image(image_mask_composite, p.outpath_samples, "", p.seeds[i], p.prompts[i], opts.samples_format, info=infotext(i), p=p, suffix="-mask-composite")
+ if opts.return_mask_composite:
+ output_images.append(image_mask_composite)
del x_samples_ddim