Масштабирование С Помощью Библиотеки Изображений Python

Я пишу простое приложение на Python, которое отображает изображения.Мне нужно реализовать увеличение и уменьшение масштаба путем масштабирования изображения.
Я думаю, что изображения.transform метод сможет это сделать, но я не уверен, как его использовать, так как он просит аффинных матрица или что-то в этом роде :P
Вот цитата из документов:

im.transform (размер, АФФИН, Данные, Фильтр) => image

применяется аффинное преобразуется в изображение и помещает результат в новое изображение с заданным размером.

Data-это 6-кортеж (a, b, c, d, e, f), содержащий первые две строки из Матрицы аффинных преобразований. Для каждого пикселя (x, y) на выходном изображении новое значение берется из позиции (a x + b y + c, d x + e y + f) на входном изображении, округленной до ближайшего пикселя.

эта функция может использоваться для масштабирования, перевода, поворота и сдвига исходного изображения.

2 ответов


вам было бы намного лучше использовать EXTENT, а не AFFINE метод. Вам нужно только вычислить две вещи: какую часть ввода вы хотите увидеть и насколько она должна быть большой. Например, если вы хотите, чтобы все изображение было уменьшено до половины размера (т. е. уменьшено на 2), вы передадите данные (0, 0, im.размер[0], im.размер[1]) и размер (im.размер[0] / 2, im.размер[1]/2).


применяется аффинное преобразование и линейное преобразование с последующим переводом. Но вам нужно только изменить размер части изображения с помощью метода resize. Есть пример кода в следующем ответе SO: