调整图像的大小可能很棘手,但幸运的是,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中调整图像的大小,并能在你的代码中轻松实现它来调整图像大小。