From 078908fbea75acbc5df8046bf2f1a9279a2bd3b6 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed, 31 Jul 2024 20:22:31 +1000 Subject: [PATCH] fix(nodes): fix canvas mask erode it wasn't eroding enough and caused incorrect transparency in result images --- invokeai/app/invocations/image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/invokeai/app/invocations/image.py b/invokeai/app/invocations/image.py index a80cddbe9b..340dc32f96 100644 --- a/invokeai/app/invocations/image.py +++ b/invokeai/app/invocations/image.py @@ -1038,7 +1038,7 @@ class CanvasV2MaskAndCropInvocation(BaseInvocation, WithMetadata, WithBoard): def _prepare_mask(self, mask: Image.Image) -> Image.Image: mask_array = numpy.array(mask) kernel = numpy.ones((self.mask_blur, self.mask_blur), numpy.uint8) - dilated_mask_array = cv2.erode(mask_array, kernel) + dilated_mask_array = cv2.erode(mask_array, kernel, iterations=3) dilated_mask = Image.fromarray(dilated_mask_array) if self.mask_blur > 0: mask = dilated_mask.filter(ImageFilter.GaussianBlur(self.mask_blur))