使用Python Pillow(PIL)调整图像大小

852 阅读3分钟

调整图像的大小可能很棘手,但幸运的是,Python已经为我们提供了Pillow,它是Python Imaging Library (PIL)的一个分叉。Python Pillow支持以下文件格式。JPEG、PNG、TIFF、PPM、GIF和BMP。

Pillow是一个用于图像操作和处理的开源Python库。它旨在改进PIL,并为开发Python图像应用程序提供一种快速而简单的方法。

这很好,我们就快成功了!就让我们开始学习如何使用Pillow库在Python中调整图像大小。

如何使用Pillow (PIL)调整图像的大小

首先,我们使用PIL库中的调整大小方法

语法: Image.resize(size, resample=0)

该方法的参数:

  • 大小: 应该是像素,作为一个元组(宽度,高度)。
  • 重新取样: 可选的。可以是PIL.Image.BILINEAR(线性插值)、PIL.Image.NEAREST(使用最近的邻居)、PIL.Image.LANCZOS(一个高质量的下采样过滤器)或PIL.Image.BICUBIC(立方样条插值)中的一个。
  • 返回值: 输入图像的大小调整后的副本。

1.安装Pillow

pip install Pillow

尽管对你来说可能不寻常,但Pillow库是用import PIL导入的。

2.导入模块

我们从导入Pillow模块开始,使用代码:

from PIL import Image

3.选择并打开图像

现在我们需要传递图片,我们要在PIL模块的Image.open对象中调整大小。

这里,"img_sample.jpg "使用的图像样本存储在Python代码文件的相同位置,如果不是,那么你将需要指定文件名和它的位置,如 - "/images/sample.jpg

这一步为我们的图像创建一个对象,并将其加载到Pillow库中。

# Creating Image Object

img = Image.open('img_sample.jpg')

作为一个可选的部分,我们要使用show()方法来显示我们刚刚传递给open方法的图片。

# Display original image

img.show()

在我们的代码中,显示方法的结果是下面的样本图像(原始图像)- 原始图像

4.调整图像的大小

我们使用resize()方法来处理上一步创建的图像对象,并传递图像所需的尺寸(大小),即--宽x高。宽度和高度的值可以是任何用户选择的。

res_img = img.resize((400,300))

为了看到我们调整后的图像,我们再次使用show()方法:

# Display resized image

res_img.show()

为了保存我们调整后的图像,我们在调整后的图像对象上使用save()方法。

为此,我们还需要将我们新调整的图像文件的新名称作为参数传给save()方法。

res_img.save('resized_img.jpg')

最终的输出图像,使用调整后的图像的show方法显示为----

调整过的图像

使用PIL调整图像大小的完整代码

from PIL import Image

# Creating Image Object
img = Image.open('img_sample.png')

# Display original image
img.show()

res_img = img.resize((400,300)) #size can be anything of our choice

# Display resized image
res_img.show()

# To save the resized image
res_img.save('resized_img.png')

5.裁剪图像

如果你想裁剪图像,你可以使用PIL库的crop()方法,它需要4个参数,分别是左、上、右、下,顺序相同。

cropped_img = img_sample.crop((left, top, right, bottom))

用图像坐标替换左、上、右、下的占位符。

总结

本教程到此结束!希望你已经很好地学习了如何使用枕头(PIL)库在Python中调整图像的大小,并能在你的代码中轻松实现它来调整图像大小。