详解在Python中使用图像数据类型的pillow

  • Post category:Python

下面是pillow图像处理库的详细介绍。

pillow简介

Pillow是Python中的一个图像处理库,可以处理大多数图像格式,包括了多种图像处理操作,如图像缩放、裁剪、旋转、改变颜色以及应用滤镜等。

安装

在Python中安装pillow库可以使用pip命令,具体命令如下:

pip install pillow

加载图像

使用pillow库,我们可以方便地加载一张图像,并使用PIL.Image对象来处理这张图像。下面是一个简单的例子:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 打印图像信息
print(image.format, image.size, image.mode)

在上述示例中,我们调用了Image.open()方法载入了一张图像,并打印了图像的格式、大小和模式。在打印结果中,我们可以看到该图像的格式为JPEG,大小为(1920, 1080),模式为RGB。

此外,还有一些其他的方法可以用来加载图像,如Image.frombytes()、Image.fromarray()等方法,我们在此不再一一介绍。

显示图像

要在Python中显示一张图像,我们可以使用PIL.Image对象的show()方法,示例如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 显示图像
image.show()

在上述示例中,我们调用了Image对象的show()方法来显示图像,该方法会启动系统默认的图像查看器来显示图像。

保存图像

使用pillow库,我们可以很方便地保存图像,具体方法如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 保存图像
image.save("example.png")

在上述示例中,我们调用了Image对象的save()方法来保存图像,将其保存为PNG格式的图像文件。

图像处理

pillow库提供了大量的图像处理方法,以支持对图像进行缩放、裁剪、旋转、改变颜色以及应用滤镜等操作。下面分别介绍一些常用的处理函数。

图像缩放

使用PIL.Image对象的resize()方法,我们可以方便地调整图像的大小,示例如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 缩小图像
image.thumbnail((600, 600))

# 显示缩小后的图像
image.show()

在上述示例中,我们先调用PIL.Image对象的thumbnail()方法来缩小图像,然后再使用show()方法显示缩小后的图像。

图像裁剪

使用PIL.Image对象的crop()方法来裁剪图像,示例如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 裁剪图像
box = (450, 150, 1350, 750)
image = image.crop(box)

# 显示裁剪后的图像
image.show()

在上述示例中,我们先调用PIL.Image对象的crop()方法来裁剪图像,传入的参数为一个四元组box,表示裁剪的区域。然后再使用show()方法显示裁剪后的图像。

图像旋转

使用PIL.Image对象的rotate()方法可以对图像进行旋转操作,示例如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 旋转90度
image = image.rotate(90)

# 显示旋转后的图像
image.show()

在上述示例中,我们调用PIL.Image对象的rotate()方法来对图像进行旋转操作。

改变颜色

使用PIL.Image对象的convert()方法可以改变图像的颜色模式,示例如下:

from PIL import Image

# 载入图像
image = Image.open("example.jpg")

# 转换为灰度图像
image = image.convert("L")

# 显示灰度图像
image.show()

在上述示例中,我们调用PIL.Image对象的convert()方法,将原来的彩色图像转换成灰度图像。

应用滤镜

使用PIL.ImageFilter模块提供的滤镜可以对图像进行各种各样的滤镜效果处理,示例如下:

from PIL import Image, ImageFilter

# 载入图像
image = Image.open("example.jpg")

# 应用模糊滤镜
image = image.filter(ImageFilter.BLUR)

# 显示模糊后的图像
image.show()

在上述示例中,我们调用PIL.Image对象的filter()方法,应用了模糊滤镜。

以上是对使用pillow库在Python中操作图像的详细介绍,包括了图像的载入、显示、保存、缩放、裁剪、旋转、改变颜色以及应用滤镜等操作。