Python Pillow 使用image模块


为了显示图像,Pillow库在其中使用了一个图像类。Pillow包内的图像模块包含一些重要的内置功能,如加载图像或创建新图像等。

打开、旋转和显示图像


要加载图像,我们只需从Pillow中导入图像模块并调用 图片.open() ,传递图像文件名。

我们将不调用 Pillow 模块,而是调用 PIL 模块,以使其与称为 Python Imaging Library (PIL) 的旧模块向后兼容。这就是为什么我们的代码以 “从 PIL 导入图像” 代替 “从Pillow导入图像” .

接下来,我们将通过调用 Image.open() 函数 ,它返回 Image 对象数据类型的值。我们对图像对象所做的任何修改都可以保存到带有 save() 方法。我们收到的图像对象使用 图片.open() , 稍后可用于调整此 Image 对象的大小、裁剪、绘制或其他图像处理方法调用。

例子

以下示例演示了使用 python Pillow旋转图像:

from PIL import Image
#Open image using Image module
im = Image.open("images/cuba.jpg")
#Show actual Image
im.show()
#Show rotated Image
im = im.rotate(45)
im.show()

如果将上述程序保存为 例子.py 并执行,它将使用标准 PNG 显示实用程序显示原始图像和旋转图像,如下所示:

实际图像

Original

旋转图像(45 度)

Rotated Image

图像模块的属性


Image 类的实例有一些属性。让我们试着通过例子来理解其中的几个:

图像.文件名

该函数用于获取图像的文件名或路径。

>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'

图像格式

此函数返回图像文件的文件格式,如“JPEG”、“BMP”、“PNG”等。

>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'

图像模式

它用于获取图像使用的像素格式。典型值为“1”、“L”、“RGB”或“CMYK”。

>>> image.mode
'RGB'

图片尺寸

它返回由图像的高度和重量组成的元组。

>>> image.size
(1280, 721)

图像宽度

它只返回图像的宽度。

>>> image.width
1280

图像.高度

它只返回图像的高度。

>>> image.height
721

图片信息

它返回一个包含与图像关联的数据的字典。

>>> image.info
{'jfif': 257, 'jfif_version': (1, 1), 'dpi': (300, 300), 'jfif_unit': 1, 'jfif_density': (300, 300), 'exif': b"Exif\x00\x00MM\x00*\x00\x00\x00
....
....
\xeb\x00\x00'\x10\x00\x00\xd7\xb3\x00\x00\x03\xe8"}

图像调色板

它返回调色板表(如果有)。

>>> image.palette

上面的输出 : None