Изменение размера изображения с сохранением соотношения сторон И обеспечение одинакового размера портретных и альбомных изображений?

В настоящее время я использую:

    os.chdir(album.path)
    images = glob.glob('*.*')

    # thumbs size
    size = 80,80

    for image in images:
        #create thumb
        file, ext = os.path.splitext(image)
        im = Image.open(os.path.join(album.path,image))
        im.thumbnail(size, Image.ANTIALIAS)
        thumb_path = os.path.join(album.path, 'thumbs', file + ".thumb" + ".jpeg")
        im.save(thumb_path)

Хотя это работает, я получаю изображения разных размеров (некоторые портретные, а некоторые альбомные), но я хочу, чтобы все изображения имели точный размер. Может быть, разумный урожай?

ОБНОВИТЬ:

Я не против обрезать небольшую часть изображения. Когда я сказал разумное обрезание, я имел в виду что-то вроде этого алгоритма:

if image is portrait:
    make width 80px
    crop the height (will be more than 80px)
else if image is landscape:
    make height 80px
    crop the width to 80px (will be more than 80px)

Ответы на вопрос(3)

Ваш ответ на вопрос