ImageVerifierCode 换一换
格式:DOCX , 页数:88 ,大小:58.98KB ,
资源ID:25298819      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25298819.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PythonImagingLibrary中文手册.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PythonImagingLibrary中文手册.docx

1、PythonImagingLibrary中文手册这是PIL的官方手册,2005年5月6日本中文手册来 你可以在PythonWare library找到改文档其它格式的版本以及先前的版本。原版出处:htt1. 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、滤波器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. blend4. composite5. eval6. frombuffer7. fromstring8. merge3. 方法1. convert2. copy3. cro

3、p4. 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.

4、 transpose33. verify4. 属性1. format2. mode3. size4. palette5. info6. ImageChops 模块1. 函数1. constant2. duplicate3. invert4. lighter5. darker6. difference7. multiply8. screen9. add10. subtract11. blend12. composite13. offset7. ImageColor 模块1. Colour Names2. 函数1. getrgb2. getcolor8. ImageDraw 模块1. Exampl

5、e2. Concepts1. Coordinates2. Colour Names3. Fonts3. 函数1. Draw4. 方法1. arc2. bitmap3. chord4. ellipse5. line6. pieslice7. point8. polygon9. rectangle10. text11. textsize5. Options1. outline2. fill3. font6. Compatibility1. ImageDraw2. setink3. setfill4. setfont9. ImageEnhance 模块1. Example2. Interface3.

6、 The Color Class4. The Brightness Class5. The Contrast Class6. The Sharpness Class10. ImageFile 模块1. Example2. 函数1. Parser3. 方法1. feed11. ImageFileIO 模块1. 函数12. ImageFilter 模块1. Example2. Filters1. Kernel2. RankFilter3. MinFilter4. MedianFilter5. MaxFilter13. ImageFont 模块1. 例子2. 函数1. load2. load_pat

7、h3. truetype4. load_default3. 方法1. getsize2. getmask14. ImageGrab 模块1. 函数1. grab2. grabclipboard15. ImageOps 模块1. 函数1. autocontrast2. colorize3. crop4. deform5. equalize6. expand7. fit8. flip9. grayscale10. invert11. mirror12. posterize13. solarize16. ImagePath 模块1. 函数1. Path17. ImagePalette 模块1. 例子

8、2. 类1. ImagePalette18. 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. pale

9、tte4. 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. ge

10、toutline24. 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概览介绍Pyt

11、hon Imaging Library?为Python解释器提供了图像处理的功能。这个库提供了广泛的文件格式支持、高效的内部表示以及相当强大的图像处理功能。这个图像处理库的核心被设计成为能够快速访问以几种基本像素类型表示的图像数据。它为通用图像处理工具提供了一个坚实基础。让我们来看一些这个库可能的用途:图像归档处理Python Imaging Library适合编写图像归档和批处理应用程序。使用这个库可以创建缩略图、转换文件格式、打印图像等。当前版本的库能够识别和读取很多的图像格式。而能够输出的格式被特意限制于在交换和展示图像中最常用的格式上。图像显示当前版本的库包含Tk的PhotoImage

12、?和?BitmapImage?接口,也包含Windows的DIB接口(可以同PythonWin和其他基于Windows的界面工具包一起使用)。还有一些其他的PIL支持提供了很多其他的GUI工具包。为了调试方便,库中有一个?show?方法,它把图像保存到磁盘中,并调用外部显示工具来显示它。图像处理这个库提供了基本的图像处理功能,包括点操作、一些内建滤波核的滤波操作以及颜色空间变换操作。这个库也支持图像的缩放、旋转及任何仿射(affine)变换。库中包含一个histogram方法,可以从图像中提取某些统计特征。用它可以实现自动的对比度增强以及全局统计分析功能。入门导引使用 Image 类Pytho

13、n Imaging Library中最重要的类是Image 类,它定义在与它同名的模块中。有多种创建这个类的对象的方法:可以从文件中读取得到,也可以从其他图像经处理得到,或者创建一个全新的。要从文件读取图像,可以使用Image 模块提供的open 函数。切换行号显示 1 import Image 2 im = Image.open(lena.ppm) 3 如果成功,这个函数返回一个Image 对象。可以使用这个对象的属性来查看文件的内容。切换行号显示 1 print im.format, im.size, im.mode 2 PPM (512, 512) RGB 3 format 属性表示图像

14、的原始格式。如果图像不是从文件中读取的,则它被设置成 None。size 属性是一个2元组,表示图像的宽度和高度 (以像素为单位)。mode 属性定义图像的色彩通道的数量与名字,同时也包括像素的类型和颜色深度信息。通常来说,灰度图像的mode是L (luminance),真彩色图像的mode是 RGB ,而用来打印的图像的mode是CMYK。如果文件不能打开,会抛出一个IOError 异常。一旦有了一个Image 类的对象,接下来就可以使用这个类定义的方法来处理和操作图像了。比如说,显示刚才打开的文件:切换行号显示 1 im.show() 2 (show 的标准实现不是很高效,因为它先将图像保

15、存成一个临时文件,然后调用 xv 程序来显示图像。如果你没有安装xv ,它甚至不能工作。然而如果它可用,它将是非常方便的出错和测试的工具。)接下来的内容将对库中提供的一些函数进行一个概述。读写图像Python Imaging Library 支持很广泛的图象文件格式。要从磁盘上读取文件,使用 Image 模块提供的open 函数。你不必了解你要打开的文件的格式,库会自动根据文件的内容来确定图像的格式。要保存文件,使用Image 类的save 方法。保存文件时,文件名就变得非常重要了。除非你指定了格式,否则库会根据文件扩展名来决定使用哪种格式存储。将文件转换成 JPEG切换行号显示 1 impo

16、rt os, sys 2 import Image 3 4 for infile in sys.argv1: 5 6 outfile = f + .jpg 7 if infile != outfile: 8 try: 9 Image.open(infile).save(outfile) 10 except IOError: 11 print cannot convert, infile 12 save 方法可以带第二个参数,用来显式指定要保存的文件的格式。如果要使用非标准的扩展名,就必须这样指定文件格式:创建 JPEG 缩略图切换行号显示 1 import os, sys 2 import I

17、mage 3 4 size = 128, 128 5 6 for infile in sys.argv1: 7 0 + .thumbnail 8 if infile != outfile: 9 try: 10 im = Image.open(infile) 11 im.thumbnail(size) 12 im.save(outfile, JPEG) 13 except IOError: 14 print cannot create thumbnail for, infile 15 有一点非常重要的需要注意的是,除非到了迫不得已的时候,库不会装载或者解码原始的点阵数据。当打开一个文件的时候,库

18、会读取文件头以获得文件格式、颜色模式、图像大小等属性,但是文件剩余的部分不会马上处理。这意味着,文件打开操作是很快的,它与文件的大小、压缩的类型没有关系。这里是一个快速识别一系列图像文件的简单例子:识别图像文件切换行号显示 1 import sys 2 import Image 3 4 for infile in sys.argv1: 5 try: 6 im = Image.open(infile) 7 print infile, im.format, %dx%d % im.size, im.mode 8 except IOError: 9 pass 10 裁剪、粘贴和合并图像Image 类提

19、供一些对图像中的某一区域进行处理的方法。要从图像中提取一块子矩形区域,使用 crop 方法。从图像中拷贝一块子矩形区域?=切换行号显示 1 box = (100, 100, 400, 400) 2 region = im.crop(box) 3 区域由一个4元组定义,表示为坐标是 (left, upper, right, lower)。 Python Imaging Library 使用左上角为 (0, 0)的坐标系统。同时要注意,这些坐标指向像素之间的位置,因此上述例子中描述的区域的大小为300x300像素。区域图像能够经过某些特定的处理并粘回原处。处理一块子矩形区域,并粘回原处切换行号显示

20、 1 region = region.transpose(Image.ROTATE_180) 2 im.paste(region, box) 3 当把区域粘回图像时,指定的区域大小必须和区域图像的大小相同。此外,区域不能超出图像的边界。然而,原始图像的模式和区域图像的模式不必相同。如果不相同,区域图像的模式会在粘贴前被自动转换 (细节请查看后面有关颜色变换 的章节)。这里有另一个例子:滚动一幅图像切换行号显示 1 def roll(image, delta): 2 Roll an image sideways 3 4 xsize, ysize = image.size 5 6 delta =

21、delta % xsize 7 if delta = 0: return image 8 9 part1 = image.crop(0, 0, delta, ysize) 10 part2 = image.crop(delta, 0, xsize, ysize) 11 image.paste(part2, (0, 0, xsize-delta, ysize) 12 image.paste(part1, (xsize-delta, 0, xsize, ysize) 13 14 return image 15 更高级的技巧是,paste方法可以带一个透明掩模作为可选参数。在这个掩模中,像素值255

22、 代表被粘贴的图像在那个位置上是不透明的。 (就是说,此处显示被粘贴的图像上的值。)像素值 0 表示被粘贴的图像是完全透明的。在它们之间的值表示不同程度的透明度。Python Imaging Library 还允许对一幅多通道图像(比如RGB图像)的单个通道进行操作。split方法能够创建一组新的图像,每一幅都是原来多通道图像的一个通道。merge函数以一个模式和一组图像的元组为参数,把这些图像组成一幅新图像。下面的例子实现交换一幅RGB图像的三个通道:分离与合并通道切换行号显示 1 r, g, b = im.split() 2 im = Image.merge(RGB, (b, g, r)

23、3 几何变换Image 类包含resize 和 rotate 方法来缩放和旋转图像。前者带一个tuple类型的参数来表示新的图像大小,后者带一个逆时针旋转的角度值作为参数。简单的几何变换切换行号显示 1 out = im.resize(128, 128) 2 out = im.rotate(45) # degrees counter-clockwise 3 如果要将图像旋转90度的整数倍,可以使用rotate 或者transpose 方法。后者还可以用来水平或者垂直镜像一幅图像。transpose图像切换行号显示 1 out = im.transpose(Image.FLIP_LEFT_RIG

24、HT) 2 out = im.transpose(Image.FLIP_TOP_BOTTOM) 3 out = im.transpose(Image.ROTATE_90) 4 out = im.transpose(Image.ROTATE_180) 5 out = im.transpose(Image.ROTATE_270) 6 Theres no difference in performance or result between transpose(ROTATE) and corresponding rotate operations.一个更通用的变换方法是 transform,在参考手

25、册中有对它的详细叙述。颜色变换Python Imaging Library提供convert函数,可以将图像在不同的像素格式间转换。转换图像颜色模式切换行号显示 1 im = Image.open(lena.ppm).convert(L) 2 库支持在所有支持的颜色模式和L以及RGB之间的直接转换。其他颜色模式之间的转换要借助于中间图像模式(通常是RGB 模式)。图像增强Python Imaging Library提供一系列的函数和模块来进行图像增强。滤波器ImageFilter?模块中包含一些预定义的增强滤波器,用filter 方法来使用滤波器。使用滤波器切换行号显示 1 import Im

26、ageFilter 2 out = im.filter(ImageFilter.DETAIL) 3 点操作point 方法可以对图像的像素值进行变换(比如对比度变换)。在大多数场合,使用函数对象(带一个参数)作为参数传递给point方法。每一个像素使用这个函数对象进行变换:使用点变换切换行号显示 1 # multiply each pixel by 1.2 2 out = im.point(lambda i: i * 1.2) 3 用上面的技巧,你可以对图像用任何简单的表达式进行变换。你还可以结合使用point 和paste 方法来有选择的改变一幅图像:处理单个通道切换行号显示 1 # spl

27、it the image into individual bands 2 source = im.split() 3 4 R, G, B = 0, 1, 2 5 6 # select regions where red is less than 100 7 mask = sourceR.point(lambda i: i 100 and 255) 8 9 # process the green band 10 out = sourceG.point(lambda i: i * 0.7) 11 12 # paste the processed band back, but only where

28、red was 100 13 sourceG.paste(out, None, mask) 14 15 # build a new multiband image 16 im = Image.merge(im.mode, source) 17 注意用来创建mask的语法:切换行号显示 1 imout = im.point(lambda i: expression and 255) 2 Python 只计算一个逻辑表达式的一部分,只要能确定表达式的结果其他部分就不进行计算了,并把最后计算得到的值作为表达式的值返回。因此,如果上述expression是false(0),Python就不会检查第二个

29、参数,因此返回0,否则返回255。增强对于更多更高级的图像增强,可以使用ImageEnhance?模块。一旦从图像上创建了增强对象,你就可以尝试采用各种不同的参数进行快速的增强处理了。你能通过这样的方法来调整图像的对比度、亮度、色彩平衡和锐度。增强图像切换行号显示 1 import ImageEnhance 2 3 enh = ImageEnhance.Contrast(im) 4 enh.enhance(1.3).show(30% more contrast) 5 图像序列Python Imaging Library 包含对于图像序列 (也称作动画 格式)的基本支持。支持的序列格式包括 FLI/FLC, GIF, 和一些试验性的格式。TIFF 文件也能包含超过一帧的图像。当你打开一个序列文件时,PIL 会自动加载序列中的第一帧。你可以使用seek 和tell 方法在不同帧之间移动:读取图像序列切换行号显示 1 import Image 2 3 im = Image.open(animation.gif) 4 im.seek(1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1