一、简介及安装Pillow
1.1 简介
PIL:Python Imaging Library,已经是Python平台上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用,因此广受开发人员的使用。
由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本Pillow,支持最新Python 3.x,并且又加入了许多新特性,这使得Pillow又焕发了生机!
该篇文章只是简单地介绍Image模块中同名的Image类,详细请自行到官网查阅学习!之后有时间会陆续更新Pollow库。希望对大家有所帮助!
1.2 安装Pillow
pip install pillow
二、Pillow库的基础用法
2.1 导包
Pillow库安装成功后,导包时要用PIL来导入,而不能用pillow或Pillow,导入相应的包:
import PIL
from PIL import Image
在Pillow库中,有二十多个模块,还支持非常多的插件。其中最常用的是Image模块中同名的Image类,其他很多模块都是在Image模块的基础上对图像做进一步的特殊处理。本文主要介绍Image模块的常用用法,其他的模块可以按需看文档。
2.2 读取图片
假设我要读取这么一张图片(python.jpg),我们只需要2行代码便可将该图片展示出来。
from PIL import Image # 导包
image = Image.open('python.jpg')
image.show()
三、如何将.npy文件转换为图片
读取一个.npy文件,并将其转换为图片
import PIL
from PIL import Image
path = '' # 要转换为图片的.npy文件
data = np.load(path)
image = Image.fromarray(data)
image.show()
四、Pillow库的进阶用法
首先,我们需要读取一张示例图片(python.jpg),然后依次执行下述操作,并查看效果。
4.1 图片的缩放
image = Image.open('python.jpg')
image.thumbnail((image.size[0] // 2, image.size[1] // 2))
image.save('python1.jpg', 'jpeg')
4.2 图片模糊
from PIL import Image, ImageFilter
image = Image.open('python.jpg')
image.filter(ImageFilter.BLUR).show()
4.3 图片旋转
- 逆时针旋转
image = Image.open('python.jpg')
image.rotate(45).show() # 逆时针旋转45°
- 顺时针旋转
image = Image.open('python.jpg')
image.rotate(-45).show() # 顺时针旋转45°