这是P I L的官方手册,2005年5月6日本中文手册来你可以在PythonWare library找到改文档其它格式的版本以及先前的版本。
原版出处:htt目录1.Python Imaging Library 中文手册2.第一部分:介绍1.概览1.介绍2.图像归档处理3.图像显示4.图像处理2.入门导引1.使用Image 类2.读写图像3.裁剪、粘贴和合并图像4.滚动一幅图像5.分离与合并通道3.几何变换1.简单的几何变换2.transpose图像4.颜色变换1.转换图像颜色模式5.图像增强1.滤波器1.使用滤波器2.点操作1.使用点变换2.处理单个通道3.增强1.增强图像6.图像序列1.读取图像序列2.一个序列迭代类7.Postscript格式打印1.Drawing Postscript8.更多关于读取图像1.控制解码器3.概念1.通道2.模式3.大小4.坐标系统5.调色板6.信息7.滤波器4.第二部分:模块手册5.Image 模块1.例子2.函数1.new2.open3.blendposite5.eval6.frombuffer7.fromstring8.merge3.方法1.convert2.copy3.crop4.draft5.filter6.fromstring7.getbands8.getbbox9.getdata10.getextrema11.getpixel12.histogram13.load14.offset15.paste16.point17.putalpha18.putdata19.putpalette20.putpixel21.resize22.rotate23.save24.seek25.show26.split27.tell28.thumbnail29.tobitmap30.tostring31.transform32.transpose33.verify4.属性1.format2.mode3.size4.palette6.ImageChops 模块1.函数1.constant2.duplicate3.invert4.lighter5.darker6.difference7.multiply8.screen9.add10.subtract11.blendposite13.offset7.ImageColor 模块1.Colour Names2.函数1.getrgb2.getcolor8.ImageDraw 模块1.Example2.Concepts1.Coordinates2.Colour Names3.Fonts3.函数1.Draw4.方法1.arc2.bitmap3.chord4.ellipse5.line6.pieslice7.point8.polygon9.rectangle10.text11.textsize5.Options1.outline2.fill3.fontpatibility1.ImageDraw2.setink3.setfill4.setfont9.ImageEnhance 模块1.Example2.Interface3.The Color Class4.The Brightness Class5.The Contrast Class6.The Sharpness Class 10.ImageFile 模块1.Example2.函数1.Parser3.方法1.feed11.ImageFileIO 模块1.函数12.ImageFilter 模块1.Example2.Filters1.Kernel2.RankFilter3.MinFilter4.MedianFilter5.MaxFilter 13.ImageFont 模块1.例子2.函数1.load2.load_path3.truetype4.load_default3.方法1.getsize2.getmask 14.ImageGrab 模块1.函数1.grab2.grabclipboard 15.ImageOps 模块1.函数1.autocontrast2.colorize3.crop4.deform5.equalize6.expand7.fit8.flip9.grayscale10.invert11.mirror12.posterize13.solarize16.ImagePath 模块1.函数1.Path17.ImagePalette 模块1.例子2.类1.ImagePalette 18.ImageSequence 模块1.函数1.Iterator2.方法1.Operator [] 19.ImageStat 模块1.函数1.Stat2.Attributes1.extrema2.count3.sum4.sum25.pixel6.median7.rms8.var9.stddev20.ImageTk 模块1.The BitmapImage Class2.The PhotoImage Class21.ImageWin 模块1.Dib 类1.Dib2.方法1.expose2.draw3.palette4.paste22.PSDraw 模块1.Classes1.PSDraw2.PSDraw 方法1.begin2.end3.line4.rectangle5.text6.setfont7.setink8.setfill23.ImageCrackCode 模块(PIL Plus)1.函数1.CrackCode2.方法and attributes1.area2.bbox3.caliper4.centroid5.edge6.links7.offset8.start9.top10.hit11.topath12.getmask13.getoutline24.ImageMath 模块(PIL Plus)1.例子2.函数1.eval3.表达式语法1.运算符2.内建函数25.第三部分:工具手册26.pildriver 工具1.例子2.The PILDriver Class3.方法4.pilconvert 工具5.pilfile 工具6.pilfont 工具7.pilprint 工具27.附录1.软件许可证2.技术支持3.图像文件格式4.编写自己的文件解码器28.译注:中英文术语对照表第一部分:介绍PIL 1.1.5 | 2005年5月5日| Fredrik Lundh概览介绍Python Imaging Library?为Python解释器提供了图像处理的功能。
这个库提供了广泛的文件格式支持、高效的内部表示以及相当强大的图像处理功能。
这个图像处理库的核心被设计成为能够快速访问以几种基本像素类型表示的图像数据。
它为通用图像处理工具提供了一个坚实基础。
让我们来看一些这个库可能的用途:图像归档处理Python Imaging Library适合编写图像归档和批处理应用程序。
使用这个库可以创建缩略图、转换文件格式、打印图像等。
当前版本的库能够识别和读取很多的图像格式。
而能够输出的格式被特意限制于在交换和展示图像中最常用的格式上。
图像显示当前版本的库包含Tk的PhotoImage?和?BitmapImage?接口,也包含Windows的DIB接口(可以同PythonWin和其他基于Windows的界面工具包一起使用)。
还有一些其他的PIL 支持提供了很多其他的GUI工具包。
为了调试方便,库中有一个?show?方法,它把图像保存到磁盘中,并调用外部显示工具来显示它。
图像处理这个库提供了基本的图像处理功能,包括点操作、一些内建滤波核的滤波操作以及颜色空间变换操作。
这个库也支持图像的缩放、旋转及任何仿射(affine)变换。
库中包含一个histogram方法,可以从图像中提取某些统计特征。
用它可以实现自动的对比度增强以及全局统计分析功能。
入门导引使用Image 类Python Imaging Library中最重要的类是Image 类,它定义在与它同名的模块中。
有多种创建这个类的对象的方法:可以从文件中读取得到,也可以从其他图像经处理得到,或者创建一个全新的。
要从文件读取图像,可以使用Image 模块提供的open 函数。
切换行号显示1 >>> import Image2 >>> im = Image.open("lena.ppm")3如果成功,这个函数返回一个Image 对象。
可以使用这个对象的属性来查看文件的内容。
切换行号显示1 >>> print im.format, im.size, im.mode2 PPM (512, 512) RGB3format 属性表示图像的原始格式。
如果图像不是从文件中读取的,则它被设置成None。
size 属性是一个2元组,表示图像的宽度和高度(以像素为单位)。
mode 属性定义图像的色彩通道的数量与名字,同时也包括像素的类型和颜色深度信息。
通常来说,灰度图像的mode 是"L" (luminance),真彩色图像的mode是"RGB" ,而用来打印的图像的mode是"CMYK"。
如果文件不能打开,会抛出一个IOError 异常。
一旦有了一个Image 类的对象,接下来就可以使用这个类定义的方法来处理和操作图像了。
比如说,显示刚才打开的文件:切换行号显示1 >>> im.show()2(show 的标准实现不是很高效,因为它先将图像保存成一个临时文件,然后调用xv 程序来显示图像。
如果你没有安装xv ,它甚至不能工作。
然而如果它可用,它将是非常方便的出错和测试的工具。
)接下来的内容将对库中提供的一些函数进行一个概述。
读写图像Python Imaging Library 支持很广泛的图象文件格式。
要从磁盘上读取文件,使用Image 模块提供的open 函数。
你不必了解你要打开的文件的格式,库会自动根据文件的内容来确定图像的格式。
要保存文件,使用Image 类的save 方法。
保存文件时,文件名就变得非常重要了。
除非你指定了格式,否则库会根据文件扩展名来决定使用哪种格式存储。
将文件转换成JPEG切换行号显示1 import os, sys2 import Image34 for infile in sys.argv[1:]:56 outfile = f + ".jpg"7 if infile != outfile:8 try:9 Image.open(infile).save(outfile)10 except IOError:11 print"cannot convert", infile12save 方法可以带第二个参数,用来显式指定要保存的文件的格式。