Python Pillow 使用Image模块
为了显示图像,pillow库中使用了一个图像类。枕头包中的图像模块包含一些重要的内置功能,如加载图像或创建新图像等。
打开、旋转和显示一个图像
要加载图像,我们只需从pillow中导入图像模块并调用 Image.open() ,传递图像文件名。
我们将不调用Pillow模块,而是调用PIL模块,以使其向后兼容一个名为Python Imaging Library (PIL)的旧模块。这就是为什么我们的代码以 “from PIL import Image “而不是 “from Pillow import Image “开始。
接下来,我们要通过调用 Image.open()函数 来加载图像,它返回一个Image对象数据类型的值。我们对图像对象所做的任何修改都可以用 save() 方法保存到图像文件中。我们使用 Image.open() 收到的图像对象,以后可以用来调整大小、裁剪、绘制或其他对这个图像对象的操作方法调用。
例子
下面的例子演示了使用Python枕头旋转图像的过程
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()
输出
如果你将上述程序保存为Example.py并执行,它将使用标准的PNG显示工具显示原始和旋转的图像,如下所示
实际图像
旋转后的图像(45度)
图像模块的属性
图像类的实例有一些属性。让我们通过例子来了解其中的一些属性
Image.filename
这个函数是用来获取图像的文件名或路径的。
>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'
Image.format
该函数返回图像文件的文件格式,如’JPEG’、’BMP’、’PNG’等。
>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'
Image.mode
它用于获取图像所使用的像素格式。典型值是 “1”、”L”、”RGB “或 “CMYK”。
>>> image.mode
'RGB'
Image.size
它返回由图像的高度和重量组成的元组。
>>> image.size
(1280, 721)
Image.width
它只返回图像的宽度。
>>> image.width
1280
Image.height
它只返回图像的高度。
>>> image.height
721
Image.info
它返回一个持有与图像相关的数据的字典。
>>> 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
它返回调色板表,如果有的话。
>>> image.palette
上述输出 - 无