当我们需要进行图像处理时,通常会使用 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格式。