Python Pillow – 读取和保存图像

Python Pillow教程,本章阐述的主题包括如何在Pillow中读取和保存图像。

Pillow 读取图像

PIL.Image模块函数的帮助下,使用Pillow库读取和写入图像非常简单。

Pillow 读取图像 语法

Image.open(fp, mode='r')

其中

  • fp – 一个文件名(字符串)、pathlib.Path对象或一个文件对象。文件对象必须实现read()、seek()和tell()方法,并且是以二进制模式打开。
  • mode – 这是一个可选的参数,如果给出,必须是’r’。
  • 返回值 – 一个图像对象。
  • 错误 – 如果找不到文件,或者图像不能被打开和识别。

Pillow 读取图像 示例

下面是一个非常简单的例子,我们将打开一个任何格式的图像(我们使用的是.jpg),在一个窗口中显示它,然后用另一种文件格式(.png)保存它(默认位置)。

from PIL import Image
image = Image.open('beach1.jpg')
image.show()
image.save('beach1.bmp')
image1 = Image.open('beach1.bmp')
image1.show()

在上面的例子中,我们从PIL库中导入Image模块,然后,调用Image.open()函数从磁盘中读取图像,它返回一个图像对象数据类型。它将通过查看文件内容自动确定文件的类型。对于读取,open()函数接受一个文件名(字符串)、一个路径对象或一个图像(文件)对象。

因此,通过使用open()函数,我们实际上是在读取图像。Image.open()将读取图像并从图像中获得所有相关的信息。

Pillow 读取图像 输出

如果你将上述程序保存为Example.py并执行,它会使用标准的PNG显示工具显示原始(.jpg)和重新保存的(.bmp)图像,如下所示

实际的图像

Pillow中读取和保存图像

重新保存的图像(.bmp)

Pillow中读取和保存图像

Pillow 保存一个图像

save()函数将一个图像写入文件。与读取(open()函数)一样,save()函数接受一个文件名、一个路径对象或一个已经打开的文件对象来写入。

Pillow 保存一个图像 语法

Image.save(fp, format=None, **params)

其中。

  • fp – 文件名(字符串)、pathlib.Path对象或文件对象。
  • format – 可选的格式重写。如果省略,使用的格式是由文件名扩展名决定的。如果使用文件对象而不是文件名,应该总是使用这个参数。
  • options – 图像写入器的额外参数。
  • 返回值 – 无
  • KeyError – 如果不能从文件名确定输出格式,使用格式选项来解决这个问题。
  • IOError – 如果文件不能被写入,文件可能已经被创建,可能包含部分数据。

简而言之,上面的语法将在给定的文件名下保存图像。如果没有指定格式,那么就根据当前的文件名扩展名。为了向写入者提供额外的指示,我们使用了关键字选项。

image.save('beach1.bmp')

在上面的例子中,它根据文件扩展名来保存文件,以确定图像的类型,例如–上面将在我们当前的工作目录下创建一个bmp文件。

你也可以明确地指定文件类型作为第二个参数 –

image.save('beach1.gif', 'GIF')

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程