Как изменить размер изображения с подушкой? - PullRequest
3 голосов
/ 19 января 2020

Использование python 3.6.9 и подушки 6.2.1 на Ма c Мохаве Я пытаюсь изменить размер изображения с подушкой. Вот полный пример кода:

import numpy
from PIL import Image

data = numpy.zeros((100, 100, 3), dtype=numpy.uint8)
data[50, 51] = [255, 0, 0]
data[50, 52] = [0, 255, 0]
data[50, 53] = [0, 0, 255]

image = Image.fromarray(data)
image.save('orig.png')
image.resize((500,500))
image.save('resized.png')

Я ожидаю, что изображение с именем resized.png будет иметь 5-кратный размер по сравнению с изображением orig.png, но изображения выглядят одинакового размера, и они имеют точно такой же размер файла.

Это ошибка в пакете pillow или чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 19 января 2020

image.resize возвращает новое изображение, а не изменяет существующее

def resize(self, size, resample=NEAREST, box=None):
    # ...
    return self._new(self.im.resize(size, resample, box))

Вам необходимо сохранить возвращенное изображение

image = image.resize((500,500))
image.save('resized.png')
1 голос
/ 19 января 2020

Попробуйте

image = image.resize((500,500))

resize не изменяет размер изображения на месте, оно возвращает измененное изображение.

...