aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Kotov <breengles@gmail.com>2023-05-29 20:39:24 +0400
committerArtem Kotov <breengles@gmail.com>2023-05-29 20:39:24 +0400
commitc8e67b67320f5d090b758303e675c1e5586575a5 (patch)
tree2e0bf144cc215c82a56f97b4999ad2994880986e
parent20ae71faa8ef035c31aa3a410b707d792c8203a3 (diff)
improve filename matching for mask
we should not rely that mask filename will be of the same extension as the image filename so better pattern matching is added
-rw-r--r--modules/img2img.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/img2img.py b/modules/img2img.py
index d704bf90..bc79ea1f 100644
--- a/modules/img2img.py
+++ b/modules/img2img.py
@@ -1,4 +1,5 @@
import os
+from pathlib import Path
import numpy as np
from PIL import Image, ImageOps, ImageFilter, ImageEnhance, ImageChops, UnidentifiedImageError
@@ -53,7 +54,11 @@ def process_batch(p, input_dir, output_dir, inpaint_mask_dir, args):
if is_inpaint_batch:
# try to find corresponding mask for an image using simple filename matching
- mask_image_path = os.path.join(inpaint_mask_dir, os.path.basename(image))
+ path = Path(os.path.join(inpaint_mask_dir, os.path.basename(image)))
+ mask_image_path = list(path.parent.glob(f"**/{path.stem}*"))
+ if len(mask_image_path) > 0:
+ mask_image_path = str(mask_image_path[0])
+
# if not found use first one ("same mask for all images" use-case)
if mask_image_path not in inpaint_masks:
mask_image_path = inpaint_masks[0]