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

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

  

im.transform (размер, AFFINE, данные, фильтр) => изображение

     

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

     

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

     

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

7 голосов | спросил Bhaskar Kandiyal 30 J000000Friday10 2010, 08:43:27

2 ответа


0

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

ответил Mark Ransom 30 J000000Friday10 2010, 09:13:51
0

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

ответил ars 30 J000000Friday10 2010, 09:13:58

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132