aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-08-11 12:03:18 +0000
committerGitHub <noreply@github.com>2023-08-11 12:03:18 +0000
commitae6b30907db2060962c533de79ab4bd2c6b12297 (patch)
treea912c80a1b31194474e1bc926b45e84c2ef54e95 /modules
parent77c52ea701bef8d436dd1f05253412807ddff42c (diff)
parent56888644a67298253260eda84ceb2d6cd0ce5099 (diff)
downloadstable-diffusion-webui-gfx803-ae6b30907db2060962c533de79ab4bd2c6b12297.tar.gz
stable-diffusion-webui-gfx803-ae6b30907db2060962c533de79ab4bd2c6b12297.tar.bz2
stable-diffusion-webui-gfx803-ae6b30907db2060962c533de79ab4bd2c6b12297.zip
Merge pull request #12470 from Splendide-Imaginarius/mask-blur-property+kernel
Make `StableDiffusionProcessingImg2Img.mask_blur` a property, make more inline with PIL `GaussianBlur`
Diffstat (limited to 'modules')
-rwxr-xr-x[-rw-r--r--]modules/processing.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/modules/processing.py b/modules/processing.py
index efa6eafa..c048ca25 100644..100755
--- a/modules/processing.py
+++ b/modules/processing.py
@@ -1243,11 +1243,10 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
self.image_mask = mask
self.latent_mask = None
self.mask_for_overlay = None
- if mask_blur is not None:
- mask_blur_x = mask_blur
- mask_blur_y = mask_blur
self.mask_blur_x = mask_blur_x
self.mask_blur_y = mask_blur_y
+ if mask_blur is not None:
+ self.mask_blur = mask_blur
self.inpainting_fill = inpainting_fill
self.inpaint_full_res = inpaint_full_res
self.inpaint_full_res_padding = inpaint_full_res_padding
@@ -1257,6 +1256,22 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
self.nmask = None
self.image_conditioning = None
+ @property
+ def mask_blur(self):
+ if self.mask_blur_x == self.mask_blur_y:
+ return self.mask_blur_x
+ return None
+
+ @mask_blur.setter
+ def mask_blur(self, value):
+ self.mask_blur_x = value
+ self.mask_blur_y = value
+
+ @mask_blur.deleter
+ def mask_blur(self):
+ del self.mask_blur_x
+ del self.mask_blur_y
+
def init(self, all_prompts, all_seeds, all_subseeds):
self.sampler = sd_samplers.create_sampler(self.sampler_name, self.sd_model)
crop_region = None
@@ -1271,13 +1286,13 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing):
if self.mask_blur_x > 0:
np_mask = np.array(image_mask)
- kernel_size = 2 * int(4 * self.mask_blur_x + 0.5) + 1
+ kernel_size = 2 * int(2.5 * self.mask_blur_x + 0.5) + 1
np_mask = cv2.GaussianBlur(np_mask, (kernel_size, 1), self.mask_blur_x)
image_mask = Image.fromarray(np_mask)
if self.mask_blur_y > 0:
np_mask = np.array(image_mask)
- kernel_size = 2 * int(4 * self.mask_blur_y + 0.5) + 1
+ kernel_size = 2 * int(2.5 * self.mask_blur_y + 0.5) + 1
np_mask = cv2.GaussianBlur(np_mask, (1, kernel_size), self.mask_blur_y)
image_mask = Image.fromarray(np_mask)