From b6fd288842e04dd1ac89025ece7827ebd6b4051c Mon Sep 17 00:00:00 2001 From: Sean Sube Date: Mon, 6 Feb 2023 22:49:58 -0600 Subject: [PATCH] fix(api): calculate outpaint overlap factor before adding margins --- api/onnx_web/chain/upscale_outpaint.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/onnx_web/chain/upscale_outpaint.py b/api/onnx_web/chain/upscale_outpaint.py index 3cad23df..e5c95d1a 100644 --- a/api/onnx_web/chain/upscale_outpaint.py +++ b/api/onnx_web/chain/upscale_outpaint.py @@ -35,6 +35,10 @@ def upscale_outpaint( prompt = prompt or params.prompt logger.info("upscaling image by expanding borders: %s", border) + margin_x = float(max(border.left, border.right)) + margin_y = float(max(border.top, border.bottom)) + overlap = min(margin_x / source_image.width, margin_y / source_image.height) + if mask_image is None: # if no mask was provided, keep the full source image mask_image = Image.new("RGB", source_image.size, "black") @@ -108,10 +112,6 @@ def upscale_outpaint( draw_mask.rectangle((left, top, left + tile, top + tile), fill="black") return result.images[0] - margin_x = float(max(border.left, border.right)) - margin_y = float(max(border.top, border.bottom)) - overlap = min(margin_x / source_image.width, margin_y / source_image.height) - if overlap == 0: logger.debug("outpainting with 0 margin, using grid tiling") output = process_tile_grid(source_image, SizeChart.auto, 1, [outpaint])