📜  PythonPillow-处理图像

📅  最后修改于: 2020-11-07 07:46:14             🧑  作者: Mango


本章详细介绍了主题,包括如何在Pillow中读取和保存图像。

读取图像

借助PIL.Image模块函数,使用枕头库读取和写入图像非常简单。

句法

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

哪里

  • FP -甲文件名(字符串),pathlib.Path对象或文件对象。文件对象必须实现read(),seek()和tell()方法,并以二进制模式打开。

  • 模式-这是一个可选参数,如果给定,则必须为’r’。

  • 返回值-一个Image对象。

  • 错误-如果找不到文件,或者无法打开和识别图像。

以下是一个非常简单的例子,在这里我们要打开任何格式的图像(我们使用。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()函数接受filename(字符串)路径对象image(file)对象。

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

输出

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

实际图像

原版的

还原的图片(.bmp)

还原图像

保存图像

save()函数将图像写入文件。类似于读取(open()函数),save()函数接受已打开以写入的文件名,路径对象或文件对象。

句法

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

哪里,

  • FP -甲文件名(字符串),pathlib.Path对象或文件对象。

  • 格式-可选格式覆盖。如果省略,则使用的格式由文件扩展名决定。如果使用文件对象而不是文件名,则应始终使用此参数。

  • options-图像写入器的额外参数。

  • 返回值-无

  • KeyError-如果无法通过文件名确定输出格式,请使用format选项解决此问题。

  • IOError-如果无法写入文件,则可能是文件已创建,并且可能包含部分数据。

简而言之,以上语法会将图片保存在给定的文件名下。如果未指定格式,则它基于当前的文件扩展名。为了向编写者提供其他说明,我们使用关键字选项。

image.save('beach1.bmp')

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

您还可以显式指定文件类型作为第二个参数-

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