import cv2


# Maximum width/height before AI enhancement
MAX_IMAGE_SIDE = 2000


def resize_large_image(image):

    height, width = image.shape[:2]

    print(f"Original Size : {width} x {height}")

    longest_side = max(width, height)

    # Image already small
    if longest_side <= MAX_IMAGE_SIDE:

        print("Resize : Not Required")

        return image

    scale = MAX_IMAGE_SIDE / longest_side

    new_width = int(width * scale)

    new_height = int(height * scale)

    resized = cv2.resize(
        image,
        (new_width, new_height),
        interpolation=cv2.INTER_AREA
    )

    print(f"Resized To : {new_width} x {new_height}")

    return resized