Как изменить размер изображения, сохранив пропорции в python3? - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть изображение с image.shape=(20,10), и я хочу изменить его размер так, чтобы новый размер изображения был image.size = 90.

Я хочу использовать np.resize(image,(new_width, new_height)), но как я могу рассчитать new_width и new_height, так что он сохраняет aspect_ratio так же, как в исходном изображении.

Ответы [ 3 ]

0 голосов
/ 05 ноября 2019

Высота вашего изображения равна 20, а ширина равна 10, поэтому высота в 2 раза больше ширины, т.е.

h = 2 * w

Вы хотите, чтобы ваше новое изображение имело площадь 90 пикселей и площадь(A):

A = h * w

90 = 2 * w * w

w = sqrt(45)

Так что стороны вашего изображения должны быть 6,7 и 13,4

Я надеюсь, что это помогает, даже если я сомневаюсь, что это будет.

0 голосов
/ 05 ноября 2019

Вы можете использовать эту простую функцию для поиска новой высоты изображения с шириной в качестве ввода

def findHeight(original_width, original_height, new_width):
    area = original_width * original_height
    new_height = area/new_width
    return new_height
0 голосов
/ 05 ноября 2019

Итак, вы выбираете, какое измерение вы хотите применить, а затем настраиваете другое, вычисляя либо new_width = new_height*aspect_ratio, либо new_height = new_width/aspect_ratio.

Возможно, вы захотите округлить эти числа и преобразовать их в * 1005. * слишком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...