Python 中的 Pillow 包
我们可以使用 Python 中的不同库来读取、处理和显示图像。在 2011 年弃用之前,我们拥有标准图像处理库 PIL(Python Imaging Library)包。
过了一段时间,引入了一个 Pillow 项目,它是原始 PIL 包的一个分支。该库包括对所有新图像格式的支持,并添加了新的解码器来处理这些新格式。
我们通过执行 pip install pillow 命令来安装这个库。
本教程将演示 Python 中 Pillow 库的基础知识。
在 Python 中使用 Pillow 包读取和显示图像
我们可以使用 open() 函数打开图像并将其存储在 PIL 类对象中。我们指定文件的路径并将其与 PIL.Image 对象一起使用。
使用 show() 函数,我们可以在 PIL.Image 对象中显示图像。在此之后,图像将存储在缓冲区中并转换为 PNG 格式以显示它。
请参阅下面的代码。
from PIL import Image i = Image.open("image.png") i.show() 输出:

在上面的示例中,我们使用 open() 函数读取图像并使用 show() 函数显示它。
Python 中使用 Pillow 包获取图片的属性
我们还可以使用 PIL.Image 对象获取不同的图像属性。
mode 属性说明由像素确定的加载图像的深度和类型。模式可以是 L(灰度)、P(映射到其他模式)、RGB 等。
例子:
from PIL import Image i = Image.open("image.png") print(i.mode) 输出:
RGBA 我们可以使用 convert() 函数将图像转换为不同的模式并指定其中的模式。
我们还可以分别使用 size 和 format 属性找到图像的大小和格式。
请参阅下面的代码。
from PIL import Image i = Image.open("image.png") print(i.size, i.format) 输出:
(640, 640) PNG 在 Python 中使用 Pillow 包编辑和处理图像
我们还可以使用 Pillow 包处理图像并对其进行编辑。它有一个名为 PIL.ImageFilter 的模块,用于存储不同的过滤器。
我们可以使用 filter() 函数将它们应用于图像,并在其中指定过滤器。
例子:
from PIL import Image, ImageFilter i = Image.open("image.png") edited = i.filter(ImageFilter.BLUR) edited.show() 输出:

在上面的示例中,我们使用 filter() 函数中的 ImageFilter.BLUR 对图像进行模糊处理。
此外,这个包的 crop() 函数可以将图像裁剪到给定的尺寸。rotate() 函数可以将图像旋转给定的角度。
请参阅下面的代码。
from PIL import Image, ImageFilter i = Image.open("image.png") t = i.crop((100, 100, 350, 350)) edited = t.rotate(90) edited.show() 输出:

我们提到了裁剪图像的尺寸并将其旋转给定角度。
此外,save() 函数可以保存编辑后的图像。
我们在函数中提到了图像的路径和文件名。我们还应该在文件名中指定图像的格式。
例子:
from PIL import Image, ImageFilter i = Image.open("image.png") t = i.crop((100, 100, 350, 350)) edited = t.rotate(90) edited.save("edited.png") 结论
最后,我们讨论了 Pillow 包的不同用途、它的历史、它是如何在 PIL 包之后出现的,以及在读取和处理图像中的一些主要用途。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn