📅  最后修改于: 2020-11-07 07:45:48             🧑  作者: Mango
为了显示图像,枕头库正在其中使用图像类。枕头包装内的图像模块包含一些重要的内置功能,例如加载图像或创建新图像等。
要加载图像,我们只需从枕头导入图像模块并调用Image.open() ,并传递图像文件名即可。
我们将调用PIL模块,而不是调用Pillow模块,以使其与称为Python Imaging Library(PIL)的旧模块向后兼容。这就是为什么我们的代码以“ from PIL import Image”而不是“ from Pillow import Image”开头的原因。
接下来,我们将通过调用Image.open()函数来加载图像,该函数返回Image对象数据类型的值。我们对图像对象所做的任何修改都可以使用save()方法保存到图像文件中。我们稍后使用Image.open()接收到的图像对象可用于在此Image对象上调整大小,裁剪,绘制或其他图像处理方法调用。
以下示例演示了使用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类的实例具有一些属性。让我们尝试通过示例来了解其中的几个-
此函数用于获取文件名或图像的路径。
>>>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
输出高于-无