mirror of
https://github.com/kohya-ss/sd-scripts.git
synced 2026-04-08 22:35:09 +00:00
Fix the interpolation logic error in resize_image()
The original code had a mistake. It used 'lanczos' when the image got smaller (width > resized_width and height > resized_height) and 'area' when it stayed the same or got bigger. This was the wrong way. 'area' is better for big shrinking.
This commit is contained in:
@@ -421,7 +421,10 @@ def resize_image(image: np.ndarray, width: int, height: int, resized_width: int,
|
|||||||
resized_height = int(resized_height)
|
resized_height = int(resized_height)
|
||||||
|
|
||||||
if resize_interpolation is None:
|
if resize_interpolation is None:
|
||||||
resize_interpolation = "lanczos" if width > resized_width and height > resized_height else "area"
|
if width >= resized_width and height >= resized_height:
|
||||||
|
resize_interpolation = "area"
|
||||||
|
else:
|
||||||
|
resize_interpolation = "lanczos"
|
||||||
|
|
||||||
# we use PIL for lanczos (for backward compatibility) and box, cv2 for others
|
# we use PIL for lanczos (for backward compatibility) and box, cv2 for others
|
||||||
use_pil = resize_interpolation in ["lanczos", "lanczos4", "box"]
|
use_pil = resize_interpolation in ["lanczos", "lanczos4", "box"]
|
||||||
|
|||||||
Reference in New Issue
Block a user