fix: filter only if not full res inpaint

This commit is contained in:
Dowon
2024-03-16 22:45:53 +09:00
parent 0e031e16cc
commit 2255341fb8

View File

@@ -577,7 +577,7 @@ class AfterDetailerScript(scripts.Script):
y_offset=args.ad_y_offset, y_offset=args.ad_y_offset,
merge_invert=args.ad_mask_merge_invert, merge_invert=args.ad_mask_merge_invert,
) )
if self.is_img2img_inpaint(p): if self.is_img2img_inpaint(p) and not self.is_inpaint_only_masked(p):
masks = self.inpaint_mask_filter(p.image_mask, masks) masks = self.inpaint_mask_filter(p.image_mask, masks)
return masks return masks
@@ -633,6 +633,10 @@ class AfterDetailerScript(scripts.Script):
def is_img2img_inpaint(p) -> bool: def is_img2img_inpaint(p) -> bool:
return hasattr(p, "image_mask") and p.image_mask is not None return hasattr(p, "image_mask") and p.image_mask is not None
@staticmethod
def is_inpaint_only_masked(p) -> bool:
return hasattr(p, "inpaint_full_res") and p.inpaint_full_res
@staticmethod @staticmethod
def inpaint_mask_filter( def inpaint_mask_filter(
img2img_mask: Image.Image, ad_mask: list[Image.Image] img2img_mask: Image.Image, ad_mask: list[Image.Image]