Pillow - 使用图像模块

  • 简述

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

    要加载图像,我们只需从pillow 中导入图像模块并调用Image.open(),传递图像文件名。
    我们将不调用 Pillow 模块,而是调用 PIL 模块,以使其与称为 Python Imaging Library (PIL) 的旧模块向后兼容。这就是为什么我们的代码以“from PIL import Image”代替“from Pillow import Image”.
    接下来,我们将通过调用Image.open() function,它返回 Image 对象数据类型的值。我们对图像对象所做的任何修改都可以保存到带有save()方法。我们收到的图像对象使用Image.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()
    

    输出

    如果将上述程序保存为 Example.py 并执行,它将使用标准 PNG 显示实用程序显示原始图像和旋转图像,如下所示 -
    Actual image
    原版的
    Rotated image (45 degrees)
    旋转图像
  • 图像模块的属性

    Image 类的实例有一些属性。让我们尝试通过示例来了解其中的一些 -

    图像.文件名

    该函数用于获取图像的文件名或路径。
    
    >>>image = Image.open('beach1.jpg')
    >>> image.filename
    'beach1.jpg'
    

    图片格式

    此函数返回图像文件的文件格式,如“JPEG”、“BMP”、“PNG”等。
    >>> 图像 = Image.open('beach1.jpg')
    >>>
    >>> 图像格式
    'JPEG'
    

    图像模式

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

    图片尺寸

    它返回由图像的高度和重量组成的元组。
    
    >>> image.size
    (1280, 721)
    

    图像宽度

    它只返回图像的宽度。
    
    >>> image.width
    1280
    

    图像.高度

    它只返回图像的高度。
    
    >>> 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
    
    上面的输出− 无