python pillow库的基础使用教程

1. 什么是Pillow库

Pillow库是Python的图像处理库,它是在Python Imaging Library(PIL)的基础上开发出来的。它提供了丰富的图像操作功能,包括图像压缩、图像格式转换、图像裁剪、滤镜效果等。在社区中,Pillow被认为是Python中最活跃的图像处理库。

2. 安装Pillow库

2.1 Windows系统下的安装

在Windows系统下,你可以使用pip命令来安装Pillow库。打开命令提示符,输入以下命令即可安装最新版本的Pillow库:

pip install pillow

如果你想安装指定版本的Pillow库,可以使用如下命令:

pip install pillow==版本号

例如,如果想安装版本为8.0.0的Pillow库,可以使用以下命令:

pip install pillow==8.0.0

2.2 Linux系统下的安装

在Linux系统下,你同样可以使用pip命令进行安装。以Ubuntu Linux为例,打开终端输入以下命令:

sudo apt-get update

sudo apt-get install python3-pil

这个命令将会安装Python3中的Pillow库。如果你想安装Python2中的Pillow库,可以使用python-pil命令。

3. Pillow库的基本使用

使用Pillow库进行图像处理非常简单。我们只需加载图像,然后对图像进行各种操作即可。下面是一个基本的例子,它演示了如何加载图像:

from PIL import Image

# 加载图像

image = Image.open('测试.jpg')

# 显示图像

image.show()

在上面的代码中,我们使用了Pillow库中的Image模块来加载图像。你需要指定图像的路径。在Windows系统下,你可以直接指定文件名,如“测试.jpg”;在Linux系统下,你需要指定文件的完整路径,如“/home/test/测试.jpg”。

3.1 获取图像信息

在处理图像之前,我们需要了解一些图像的基本信息,例如图像的大小、格式等。我们可以使用Pillow库提供的方法来获取图像信息。

下面是一个例子,它演示了如何获取图像的大小:

from PIL import Image

# 加载图像

image = Image.open('测试.jpg')

# 获取图像的大小

width, height = image.size

# 打印图像的大小

print('图像大小为:%sx%s' % (width, height))

在上面的代码中,我们使用了Pillow库中的size属性来获取图像的大小。size属性返回一个元组,它包含了图像的宽度和高度。

3.2 图像格式转换

有时,我们需要将图像从一种格式转换为另一种格式。这时,我们可以使用Pillow库中的方法来实现。

下面是一个例子,它演示了如何将一张PNG格式的图像转换为JPEG格式的图像:

from PIL import Image

# 加载图像

image = Image.open('测试.png')

# 转换图像格式

image.save('测试.jpeg', format='JPEG')

在上面的代码中,我们使用了Image对象的save方法来保存图像。我们可以通过format参数来指定保存图像的格式。在这个例子中,我们将格式设置为JPEG。

3.3 裁剪图像

有时,我们需要对图像进行裁剪,以获得想要的图像部分。这时,我们可以使用Pillow库提供的方法来实现。

下面是一个例子,它演示了如何将一张图像的左上角裁剪,以获得150x150像素大小的图像部分:

from PIL import Image

# 加载图像

image = Image.open('测试.jpg')

# 裁剪图像

rect = (0, 0, 150, 150)

image = image.crop(rect)

# 显示图像

image.show()

在上面的代码中,我们使用了Image对象的crop方法来裁剪图像。crop方法接受一个元组作为参数,这个元组包含了裁剪区域的左、上、右、下四个值。在这个例子中,裁剪区域是图像的左上角,它的大小为150x150像素。

3.4 调整图像大小

有时,我们需要调整图像的大小,以适应不同的场景。这时,我们可以使用Pillow库提供的方法来实现。

下面是一个例子,它演示了如何将一张图像的大小调整为400x400像素:

from PIL import Image

# 加载图像

image = Image.open('测试.jpg')

# 调整图像大小

image = image.resize((400, 400))

# 显示图像

image.show()

在上面的代码中,我们使用了Image对象的resize方法来调整图像大小。resize方法接受一个元组作为参数,这个元组包含了新图像的宽度和高度。在这个例子中,我们将图像的大小调整为400x400像素。

3.5 旋转图像

有时,我们需要将图像旋转一定角度,以获得更好的视角。这时,我们可以使用Pillow库提供的方法来实现。

下面是一个例子,它演示了如何将一张图像顺时针旋转90度:

from PIL import Image

# 加载图像

image = Image.open('测试.jpg')

# 旋转图像

image = image.transpose(Image.ROTATE_90)

# 显示图像

image.show()

在上面的代码中,我们使用了Image对象的transpose方法来旋转图像。transpose方法接受一个参数,这个参数指定了图像的旋转方式。在这个例子中,我们将旋转方式设置为ROTATE_90,这表示旋转90度。

3.6 添加滤镜效果

滤镜效果是图像处理中经常需要用到的一项功能。滤镜可以使图像产生不同的视觉效果,例如老照片、洛马效应等。

下面是一个例子,它演示了如何将一张图像应用老照片滤镜效果:

from PIL import Image, ImageFilter

# 加载图像

image = Image.open('测试.jpg')

# 应用滤镜效果

image = image.filter(ImageFilter.OLD_PHOTO)

# 显示图像

image.show()

在上面的代码中,我们使用了Image对象的filter方法来添加滤镜效果。filter方法接受一个参数,这个参数指定了滤镜的类型。在这个例子中,我们将滤镜类型设置为OLD_PHOTO,这表示老照片效果。

4. 总结

Pillow库是Python中最流行的图像处理库之一。它提供了丰富的图像操作功能,包括图像压缩、图像格式转换、图像裁剪、滤镜效果等。在本文中,我们学习了如何使用Pillow库进行图像处理。我们了解了如何获取图像信息、转换图像格式、裁剪图像、调整图像大小、旋转图像以及添加滤镜效果。

后端开发标签