from PIL import Image

def resize(image, max_w=2048, max_h=2048):
    cur_w, cur_h = image.width, image.height
    image_bytes = image.samples
    image = Image.frombytes("RGB", [cur_w, cur_h], image_bytes)
    if cur_h > max_w or cur_h > max_h:
        ratio_w = max_w/cur_w
        ratio_h = max_h/cur_h
        ratio = min([ratio_h, ratio_w])
        new_w = int(ratio*cur_w)
        new_h = int(ratio*cur_h)
        image = image.resize((new_w, new_h))

    return image