PIL 全称为 Python Imaging Library,已经是 Python 平台事实上的图像处理标准库了。PIL 功能非常强大,但 API 却非常简单易用。**由于 PIL 仅支持到 Python 2.7,**加上年久失修,于是一群志愿者在 PIL 的基础上创建了兼容版本 Pillow(因此 Pillow 兼容 PIL 的绝大多数语法),支持最新的 Python 3.x,又加入了许多新特性,因此推荐使用 Pillow。
安装 Pillow
Pillow 的安装非常简单,不过需要注意 Pillow 和 PIL 不能共存在相同的环境中,因此在安装 Pillow 之前,先要卸载 PIL。如果已经默认安装了 Anaconda,Pillow 已经默认安装了,可以直接使用。否则,需要在命令行下通过 pip 安装:
pip install pillow
如果在 linux 下,遇到 Permission denied 安装失败,请在上面 pip 命令的前面加上 sudo。
安装完成之后,可以在 Python 的开发环境输入以下代码,测试 Pillow 是否安装成功,以及查看相应的版本号。
from PIL import Image
print(Image.VERSION)
这里需要注意,虽然使用的是 Pillow,但是导入的包依然是 PIL。
使用 Image 类
在 Pillow 中最重要的类就是 Image 类,而 Image 类被定义在同名的 Image 模块中。我们可以通过多种方式来创建 Image 类的实例,比如:从文件中加载图像、处理其它图像或从头开始创建图像。
要从文件中加载图像创建 Image 类的实例,可以使用 Image 模块的 open() 方法。
from PIL import Image
img = Image.open(r"./shiliu.jpg")
print(type(img))
# <class 'PIL.JpegImagePlugin.JpegImageFile'>
执行成功,Image.open() 函数会返回一个 Image 对象。如果图像文件打开错误,则会抛出 OSError 错误。
有了 Image 类的实例,接下来就可以使用实例的属性来检查文件内容。
print(img.format)
# JPEG
print(img.size)
# (1920, 1920)
print(img.mode)
# RGB
具体来说,Image 类实例的 3 个属性,分别是:
format: 返回图像文件的格式(JPG, PNG, BMP, None, etc.)。如果图像不是从文件中加载进来的,format 的值会返回 None;
size: 返回图像的尺寸。以二元组的形式返回图像的宽度和高度(以像素为单位);
mode: 返回图像的模式(L, RGB, CMYK, etc.)。L 为灰度图像,RGB 为真彩色图像,CMYK 为印刷图像;
Image 类实例有很多方法,如果想要查看图像,可以使用 show() 方法。
img.show()
show() 方法效率不高,因为它会将图像保存到临时文件中,并且调用你电脑中的图像程序来显示图像。如果你的电脑中没有安装显示图像的应用程序,show() 方法甚至不能工作。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11253/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取