如何强制Pillow将图像调整为任意大小?

时间:2015-05-15 00:04:45

标签: python image-processing python-imaging-library

我需要调整图像大小,从所有不同的大小调整到144x144。

所有尺寸:从968x565,从25x48到400x400等。不知道输入。我正在使用Python的Pillow库。我不介意失去纵横比。

问题是:使用resize方法时,某些图像会获得完整的随机大小。并非总是如此,但只是其中一些人不尊重我给该方法的144x144的任意大小。 Here is a sample

我尝试使用Mac OS X Yosemite的预览调整这些图像的大小,它可以完美运行。在Pillow中我需要做什么来强制144x144的尺寸并至少像在Mac中预览一样工作?

我无法发布整个代码,但调整大小的代码段为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import Image

im = Image.open('canvas_wheat.jpg')
im.resize((144, 144), Image.ANTIALIAS)
im.save('144.jpg', optimize=True, quality=20)

1 个答案:

答案 0 :(得分:3)

你遇到的问题是resize方法返回一个 new 图像对象,您不会存储在任何地方。原始图像im与已加载的图像相同。

检查此交互式会话中的示例:

>>> from PIL import Image
>>> img = Image.open("image.jpg")
>>> img.size
(952, 804)
>>> img2 = img.resize((144,144), Image.ANTIALIAS)
>>> img.size
(952, 804)
>>> img2.size
(144, 144)
>>>