fix(api): calculate outpaint overlap factor before adding margins
This commit is contained in:
parent
a9f4e19616
commit
b6fd288842
|
@ -35,6 +35,10 @@ def upscale_outpaint(
|
||||||
prompt = prompt or params.prompt
|
prompt = prompt or params.prompt
|
||||||
logger.info("upscaling image by expanding borders: %s", border)
|
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 mask_image is None:
|
||||||
# if no mask was provided, keep the full source image
|
# if no mask was provided, keep the full source image
|
||||||
mask_image = Image.new("RGB", source_image.size, "black")
|
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")
|
draw_mask.rectangle((left, top, left + tile, top + tile), fill="black")
|
||||||
return result.images[0]
|
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:
|
if overlap == 0:
|
||||||
logger.debug("outpainting with 0 margin, using grid tiling")
|
logger.debug("outpainting with 0 margin, using grid tiling")
|
||||||
output = process_tile_grid(source_image, SizeChart.auto, 1, [outpaint])
|
output = process_tile_grid(source_image, SizeChart.auto, 1, [outpaint])
|
||||||
|
|
Loading…
Reference in New Issue