Python Pillow – 图像序列
Pillow中的ImageSequence模块包含一个封装类,帮助用户迭代图像序列的帧。它可以迭代动画、gif等。
Iterator class
该类接受一个图像对象作为参数。它实现了一个迭代器对象,用户可以用它来遍历一个图像序列。[ ] 操作符可以用来通过索引访问元素,如果用户试图访问一个不存在的索引,就会引发一个IndexError。
语法:
语法: class PIL.ImageSequence.Iterator(image_object)
首先,应该导入Image和ImageSequence模块,因为我们将使用Image.open()来打开图像或动画文件,在第二个例子中,我们将使用Image.show()来显示一个图像。然后在ImageSequence.Iterator(image_object)方法的帮助下,我们可以对帧进行迭代,也可以提取图像序列中存在的所有帧并将其保存在一个文件中。
我们将使用这个Gif进行演示:
以下是实现情况:
输出:
该动画(gif文件)总共有36个帧。而输出的结果将是.png模式。
IndexError的例子
在这个例子中,我们将使用本文之前使用的程序的一个小修改版本。我们看到上面的动画一共有36个帧,索引从0到35。当我们试图访问第36帧时,会显示IndexError。
进入最后一帧:
输出:
访问不存在的帧:
输出: