Изменение масштаба с библиотекой изображений Python

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

Я am.transform (размер, АФФИННО, данные, фильтр) => изображение

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

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

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

7
задан Bhaskar Kandiyal 30 July 2010 в 04:43
поделиться

2 ответа

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

6
ответ дан 7 December 2019 в 09:55
поделиться

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

0
ответ дан 7 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: