详解Python PIL Image.resize()方法

  • Post category:Python

当我们需要进行图像处理时,通常会使用 Python Imaging Library (PIL) 库。其中,PIL 中用于改变图像大小的方法是Image.resize()。

PIL Image.resize()方法详细说明

方法说明

Image.resize() 方法用于调整图像的大小。

方法语法

方法语法如下所示:

Image.resize(size, resample=None, box=None, reducing_gap=None)

参数说明

  • size:调整后的尺寸。参数为一个元组,表示图像的宽和高,如(100,100)。

  • resample:设置采样方法的变换,采样方法包括:

  • Image.NEAREST(最近邻采样)

  • Image.BILINEAR(双线性插值)

  • Image.BICUBIC(双三次插值)

  • Image.LANCZOS(Lanczos 滤波器)

默认值为 None,此时采用双线性插值。

  • box:包含要剪切区域的四元组。四元组为(left, upper, right, lower),左上方的坐标是(0, 0)。

  • reducing_gap:可选的缩减函数。只有当使用“映射”时,才需要使用此参数。使用“映射”时,你可能需要缩小时使用低分辨率,然后用更高分辨率放大。以及如果您想加快缩小速度,您可以指定要略过的线程数。

返回值

返回一个新的 Image 对象。

示例说明

示例1

from PIL import Image

# 加载图像
img = Image.open("test.png")

# 剪切图像,保持纵横比不变
img = img.crop((100,100,500,500))

# 调整大小为50*50
img = img.resize((50,50))

# 保存图像到本地
img.save("result.png")

以上代码先剪切出一个宽高比为1:1的图像,并将其调整为50*50大小,最后保存到本地。

示例2

from PIL import Image

# 加载图像
img = Image.open("test.jpg")

# 调整大小,采用双三次插值
img = img.resize((640,480), Image.BICUBIC)

# 保存图像到本地
img.save("result.jpg")

以上代码将图像的大小调整为640*480,并采用双三次插值。最后保存成JPEG格式。