pillow 保存图像路径_Python 进阶必备:图像库 pillow

  • Post author:
  • Post category:python



1. 关于 PIL 和 pillow 的关系

PIL 是 Python Imaging Library 的简写,意为 Python 图像库。它不是 Python 的标准库,但在很长一段时期内,PIL 几乎就是 Python 的御用图像库。印象中大约是2015年前后(网上检索不到这一段历史),PIL 不再有更新,取而代之的,则是 PIL 的嫡传分支 pillow —— 完全继承了 PIL 的 API,且支持 py3 的图像库。尽管我们在提到图像处理时经常会提到 PIL,但一般情况下是指 pillow。pillow 的官网写着:If you have ever worried or wondered about the future of PIL, please stop.


2. 模块介绍

pillow 库提供了广泛的文件格式支持、高效的内部表示和非常强大的图像处理功能,包含了大约 25 个子模块,其中的核心是 Image 模块。Image 模块是为了快速访问以下几种基本像素格式存储的数据而设计的,为一般的图像处理工具提供了一个坚实的基础。下表是 pillow 库中最常用的3个子模块(图像处理、编辑、截屏)和3个辅助模块(过滤器、颜色、字体)。

子模块 说明
Image Image模块提供了一个同名的类,用来表示PIL图像。该模块还提供了许多工厂功能,包括从文件加载图像和创建新图像的功能。
ImageDraw ImageDraw模块为图像对象提供了简单的2D图形。您可以使用此模块创建新图像、注释或修改现有图像,以及动态生成图形以供web使用。
ImageGrab ImageGrab模块可用于将屏幕或剪贴板的内容复制到PIL图像内存。
ImageFilter ImageFilter模块包含一组预定义的滤镜,可以与Image.filter()方法一起使用。
ImageColor ImageColor模块包含颜色表和从css3风格的颜色说明符到RGB元组的转换器。这个模块由PIL.Image.new()和ImageDraw等模块使用。
ImageFont ImageFont模块定义了一个同名的类。该类的实例存储位图字体,并与PIL.ImageDraw.Draw.text()方法一起使用。

处理图像需要理解图像模式。所谓图像模式就是把色彩分解成部分颜色组件,对颜色组件不同的分类就形成了不同的色彩模式,不同的色彩模式可以影响图像的通道数目和文件大小。pillow 支持以下图像模式:

图像模式 说明
1 黑白,每个像素用1位表示,但存储时每个像素占用1个字节
L 黑白,每个像素用1个字节表示
P 调色板映射,每个像素用1个字节表示
RGB



版权声明:本文为weixin_39697096原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。