python图片处理

Pillow是Python里的图像处理库(PIL:Python Image Library),提供了了广泛的文件格式支持,强大的图像处理能力,主要包括图像储存、图像显示、格式转换以及基本的图像处理操作等。

安装pillow

Windows安装pillow,只需要输入

而Mac电脑则不要忘记带版本号3

Pillow的功能非常强大,它是计算机视觉、图像处理乃至人工智能等多个领域都经常使用的库。

技术文档pillow官方技术文档

如果想要深入学习,阅读技术文档是非常有必要的,下面也会为大家提供一些实战的案例。

打开图片

首先我们使用VS Code新建一个lesson9文件夹,然后复制一张图片到该文件夹,比如图片的名称为hackwork.jpg(或者右键另存为我们准备好的图片),并在lesson9文件夹下新建一个python文件比如lesson9.py,输入下面的代码。

再在命令行工具里执行lesson9.py,这样就看到电脑会打开hackwork.jpg的图片。

显示图片的信息

使用pillow可以获取到图片的一些基础信息,并返回这些数据,虽然我们用其他设计工具比如ps等也能查看到图片的这些信息,但是编程的强大之处在于可以如果我们想要获取数万张图片的信息,只需要几段代码就可以搞定,不是人工使用ps查看可比。

基础图片处理

使用基础的图片软件,我们可以转换图片的格式,调整图片的大小,以及生成图片的缩略图,而Pillow也只需要数行代码就能处理这些图片。

转换图片格式

首先我们需要了解Pillow支持哪些图片格式,在技术文档里面我们可以发现pillow支持的图片格式是非常多的,除了jpg、png,还支持gif、pdf、eps、psd等,甚至webp,可谓相当全面了。

技术文档:Pillow支持的图片格式

使用VS Code在lesson9文件夹下新建一个python文件,比如lesson9-1.py,输入下面代码后执行:

执行python文件后,我们就可以在lesson9文件夹里发现多了一张hackwork.png的图片。

在平时工作中,很多人在修改文件格式的时候会犯一个错误,就是直接修改文件的后缀名,比如把jpg换成png等,这很可能会导致你的文件打不开,而Python虽然代码很简短,image.save()函数也只是修改了一下文件的后缀名,但是背后却是对图片进行的处理的。

修改图片大小

使用resize()函数可以修改图片的大小,在lesson9文件夹下新建一个python文件,比如lesson9-2.py,输入下面代码后执行:

除了在终端会显示出新旧两张图片的大小以外,我们还会在lesson9的文件夹里看到多了一张hackwork_400_400.jpg图片。打开这张图片,我们发现图片变形比较严重,因为长宽比不协调。

缩略图

上面修改图片大小会让图片的长宽比失衡,而如果是用缩略图的,则会保持正常的长宽比。使用pillow的thumbnail()函数可以对图片进行等比例压缩。

旋转图片

裁剪图片

裁剪图片时的函数是crop(),裁剪是按照长方形来进行裁剪,crop()里的四个数值是按照图片的左、上、右、下位置来进行裁剪。也就

将一张图片粘贴到另外一张图片(合并图片)

图片特效

创建图片

在图片上写文字