Pillow模块--图像处理

http://pillow-cn.readthedocs.io/zh_CN/latest/handbook/overview.html

全局概览

Python Imaging Library ( PIL ) 给 Python 增加了图像处理能力。

这个库提供了广泛的文件格式支持,高效的内部展现,以及十分强大的图像处理能力。

让我们看看这个库的几种可能用法:

图像存储

PIL 设计用于图像归档和图像批量处理,你可以使用它建立缩略图,转换格式,打印图片等等。

现在的版本可以验证和读取大量的图片格式。写入有意设计为只能写入常用的文件格式。

图像显示

现在的版本包含了 Tk PhotoImage 和 BitmapImage 接口, 以及 Windows DIB interface ,这有助于在 Windows 下使用。

为了方便测试,还提供了 show() 方法,可以保存图像到磁盘并显示。

图像处理

这个库包含了基本的图像处理功能,包括点操作,使用内置卷积内核过滤,色彩空间转换。

这个库还支持更改图像大小、旋转、自由变换。

有一个直方图方法允许你统计图像,这可以用于对比度增强和全局统计分析。


快速入门

注解

 

译者注:编程名词和专业名词尽量不翻译,比如bands, modes等请参考 概念 。

使用 Image 类

PIL最重要的类是 Image class, 你可以通过多种方法创建这个类的实例;你可以从文件加载图像,或者处理其他图像, 或者从 scratch 创建。

要从文件加载图像,使用 open() 函数, 在 Image 模块:

>>> from PIL import Image
>>> im = Image.open("lena.ppm")

加载成功将返回一个 Image 对象。 你现在可以使用示例属性检查文件内容:

>>> from __future__ import print_function
>>> print(im.format, im.size, im.mode)
PPM (512, 512) RGB

format 这个属性标识了图像来源。如果图像不是从文件读取它的值就是None。size属性是一个二元tuple,包含width和height(宽度和高度,单位都是px)。 mode 属性定义了图像bands的数量和名称,以及像素类型和深度。常见的modes 有 “L” (luminance) 表示灰度图像, “RGB” 表示真彩色图像, and “CMYK” 表示出版图像。

如果文件打开错误,返回 IOError 错误。

只要你有了 Image 类的实例,你就可以通过类的方法处理图像。比如,下列方法可以显示图像:

>>> im.show()

注解

 

标准的 show() 效率并不高,它需要保存图像到临时文件然后通过 xv 显示图像。你需要先安装 xv ,显示图像有助于调试和测试。

下面的部分提供了这个库其他函数的概览。

读写图像

PIL 模块支持大量图片格式。使用在 Image 模块的 open() 函数从磁盘读取文件。你不需要知道文件格式就能打开它,这个库能够根据文件内容自动确定文件格式。

要保存文件,使用 Image 类的 save() 方法。保存文件的时候文件名变得重要了。除非你指定格式,否则这个库将会以文件名的扩展名作为格式保存。

转换文件格式到JPEG

from __future__ import print_function
import os, sys
from PIL import Image

for infile in sys.argv[1:]:
    f, e = os.path.splitext(infile)
    outfile = f + ".jpg"
    if infile != outfile
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值