Python图像处理库PIL的ImageFile模块介绍
来源:互联网 发布:线性时间选择算法java 编辑:程序博客网 时间:2024/05/22 14:26
ImageFile模块为图像的打开和保存提供了一些函数。
另外,它还提供了一个逐块解码图像的Parser类。这个类实现了与标准sgmllib和xmllib模块一样的接口。
一、ImageFile模块的函数
1、 Parser
定义:ImageFile.Parser()⇒ Parser instance
含义:创建一个解析器对象。解析器不能被重复使用。
二、ImageFile模块的方法
1、 Feed
定义:parser.feed(data)
含义:为解析器填充一个字符串。这个方法可能会引起IOError异常。
2、 Close
定义:parser.close()⇒ image or None
含义:告诉解析器完成解码。如果解析器正在解码一张图像,将返回一个图像对象。否则,该方法会产生一个IOError异常。
注意:如果文件没有被识别,在方法close()中,解析器将产生一个IOError异常。如果文件能够被识别,但不能解码(例如,如果数据被破坏了,或者它使用了不支持的压缩方式),解析器将尽快在方法feed()或者close()中产生一个IOError异常。
三、ImageFile模块的使用实例
from PIL import ImageFilefp = open("D:\\Code\\Python\\test\\img\\test02.jpg", "rb")p = ImageFile.Parser()while 1: s = fp.read(1024) if not s: break p.feed(s)im = p.close()im.save("D:\\Document\\mdoc\\python\\pic\\10\\file_test.jpg");im.show()
使用函数ImageFile.Parser()创建了解析器的实例,通过方法feed()将从文件中读取的数据填充到解析中。最后调用方法close(),如果填充到解析器中的数据没有错误,将返回一张图像,即图像im。图像im与原始图像有很大区别。解析器会对原始图像进行解码,然后再按照PIL自己的算法重新进行JPEG编码。新产生的图像比原始图像小了三十多K bytes。但两张图像,很难通过肉眼发现不同之处。
原始图像如下:
图像im如下:
- Python图像处理库PIL的ImageFile模块介绍
- Python图像处理库PIL的基本模块介绍
- Python图像处理库PIL的ImageColor模块介绍
- Python图像处理库PIL的ImageFilter模块介绍
- Python图像处理库PIL的ImageChops模块介绍
- Python图像处理库PIL的ImageDraw模块介绍
- Python图像处理库PIL的ImageEnhance模块介绍
- Python图像处理库PIL的ImageFont模块介绍
- Python图像处理库PIL的ImageGrab模块介绍
- Python图像处理库PIL的ImageOps模块介绍
- Python图像处理库PIL的ImagePath模块介绍
- Python图像处理库PIL的ImageSequence模块介绍
- Python图像处理库PIL的ImageStat模块介绍
- Python图像处理库PIL的ImageFilter模块介绍
- Python图像处理库PIL的ImageOps模块介绍 -----> 一些基本的图像操作
- Python图像处理库PIL的Image模块介绍(一)
- Python图像处理库PIL的Image模块介绍(二)
- Python图像处理库PIL的Image模块介绍(三)
- java调用COM组件的几种工具
- Activity的启动模式
- Diffuse_shadow顶点着色点光源阴影实现
- 1072. Gas Station (30)
- zstu 1027 Monkey and Banana
- Python图像处理库PIL的ImageFile模块介绍
- C语言和设计模式(继承、封装、多态)
- JAVA 读取properties配置文件 - 全局搜索路径
- 关于移动互联网产品的指标分析初探
- 1034. 有理数四则运算(20)
- FragmentActivity和Activity的具体区别在哪里
- mapreduce编程(一)-二次排序
- 一些开源的项目
- Android进程与线程