ImageSequence模块包括了一个wrapper类,它能够让用户迭代訪问图形序列中每一帧图像。

一、ImageSequence模块的函数

1、 
Iterator

定义:ImageSequence.Iterator(image)
⇒ Iterator instance

含义:创建一个迭代器实例,让用户循环訪问序列中的全部帧图像。

样例:见以下的样例。

二、ImageSequence模块的方法

1、 
Operator

定义:Operator []

含义:用户调用这个操作器,从0開始訪问。

当没有其它帧图像时。这个迭代器将产生一个IndexError异常。

样例:

from PIL import Image, ImageSequence

im = Image.open("D:\\Code\\Python\\test\\img\\test01.gif")

index = 1
for frame in ImageSequence.Iterator(im):
print "image: index %d, mode %s, size %s" % (index, frame.mode, frame.size)
frame.save("frame%d.png" % index)
index = index + 1 iter = ImageSequence.Iterator(im)
print "image 10: mode %s, size %s" % (iter[10].mode, iter[10].size)
iter[10].show()

图像test01.gif为多张动态图像。

通过函数ImageSequence.Iterator(im)获取了图像对象im的迭代器,然后从当中逐张取出每张图片。打印了它们的模式和尺寸。后面通过操作符[]获取迭代器中的相应图像。iter[10]相应着第十张图像。

该程序输出例如以下:

image:index 1, mode P, size (450, 450)

image:index 2, mode P, size (450, 450)

image:index 3, mode P, size (450, 450)

image:index 4, mode P, size (450, 450)

image:index 5, mode P, size (450, 450)

image:index 6, mode P, size (450, 450)

image:index 7, mode P, size (450, 450)

image:index 8, mode P, size (450, 450)

image:index 9, mode P, size (450, 450)

image:index 10, mode P, size (450, 450)

image:index 11, mode P, size (450, 450)

image:index 12, mode P, size (450, 450)

image:index 13, mode P, size (450, 450)

image:index 14, mode P, size (450, 450)

image:index 15, mode P, size (450, 450)

image:index 16, mode P, size (450, 450)

image:index 17, mode P, size (450, 450)

image:index 18, mode P, size (450, 450)

image:index 19, mode P, size (450, 450)

image:index 20, mode P, size (450, 450)

image:index 21, mode P, size (450, 450)

image:index 22, mode P, size (450, 450)

image:index 23, mode P, size (450, 450)

image10: mode P, size (450, 450)

图像test01.gif例如以下:

当中第二张图像为:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

当中第二十张图像为:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

后面通过操作符[]获取的第十张图像例如以下:

Python图像处理库PIL的ImageSequence模块介绍的更多相关文章

  1. Python图像处理库PIL的ImageStat模块介绍

    ImageStat模块用于计算整个图像或者图像的一个区域的统计数据. 一.ImageStat模块的函数 1.  Stat 定义1:ImageStat.Stat(image)⇒ Stat instanc ...

  2. python图像处理库PIL的基本概念介绍

    PIL中所涉及的基本概念有如下几个:通道(bands).模式(mode).尺寸(size).坐标系统(coordinate system).调色板(palette).信息(info)和滤波器(filt ...

  3. Python图像处理库PIL中图像格式转换(一)

    在数字图像处理中,针对不同的图像格式有其特定的处理算法. 所以,在做图像处理之前,我们须要考虑清楚自己要基于哪种格式的图像进行算法设计及事实上现.本文基于这个需求.使用python中的图像处理库PIL ...

  4. Python图像处理库PIL中图像格式转换

    o 在数字图像处理中,针对不同的图像格式有其特定的处理算法.所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现.本文基于这个需求,使用python中的图像处理库PIL ...

  5. Python图像处理库——PIL

    PIL全称Python Image Library,是python官方的图像处理库,包含各种图像处理模块.Pillow是PIL的一个派生分支,包含与PIL相同的功能,并且更灵活.python3.0之后 ...

  6. Python图像处理库(PIL)

    官方:(详细)http://pillow.readthedocs.io/en/3.1.x/reference/ImageDraw.html http://pillow.readthedocs.io/e ...

  7. Python图像处理库PIL从入门到精通

    https://blog.csdn.net/column/details/pythonpil.html 示例: from PIL import Image import pytesseract pyt ...

  8. Python图像处理库:PIL中Image,ImageDraw等基本模块介绍

    Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报  分类: 其他 ...

  9. Python图像处理库:Pillow 初级教程

    Python图像处理库:Pillow 初级教程 2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ...

随机推荐

  1. hdoj1114 Piggy-Bank

    Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. uniqueIdentifier在ios7不支持后的替代方法

    UIDevice的uniqueIdentifier方法在ios7就不支持了, 为了获得设备相关的唯一标识符, 参考了这里:https://github.com/Itayber/UIDevice-uni ...

  3. Spark性能优化(1)——序列化、内存、并行度、数据存储格式、Shuffle

    序列化 背景: 在以下过程中,需要对数据进行序列化: shuffling data时需要通过网络传输数据 RDD序列化到磁盘时 性能优化点: Spark默认的序列化类型是Java序列化.Java序列化 ...

  4. IOC疑惑

    转载自:http://www.tuicool.com/articles/QfeEFn 大家好. 今天我来给大家扯扯IoC,以及StructureMap的一些简单应用(基本用法.自动装配.生命周期.延迟 ...

  5. WebForm中使用MVC

    http://www.cnblogs.com/encoding/articles/3556046.html ********************************************** ...

  6. 【转】Java检测字符串是否有乱码

    package cn.cnnic.ops.learn; import java.util.regex.Matcher;import java.util.regex.Pattern; public cl ...

  7. UML笔记1

    UML包括 事物 结构:类,接口等等 行为:交互,状态改变等 分组:包,子系统等 注释 关系 依赖,关联(聚合,组合),泛化,实现 图 用例图,交互图(顺序图,协作图),类图,活动图,状态图等 扩展机 ...

  8. Python深入学习之内存管理

    语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征.这里以Python语言为例子,说明一门动态类型的.面向对象的 ...

  9. c++之五谷杂粮---3

    3.1如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数. 3.1.1不允许两个函数除了返回类型外所有的要素都相同.(这也是很好解释的) #include<iostream&g ...

  10. vs2010程序运行出错 link : fatal error lnk1123: 转换到 coff 期间失败: 文件无效或损坏

    vs2010程序运行出错 link : fatal error lnk1123: 转换到 coff 期间失败: 文件无效或损坏 2014-03-27 11:34杜_柏 | 浏览 36144 次 请问这 ...