如何使用Python将单个GIF图像转换为BMP图像序列



我一直在努力寻找使用python将给定GIF图像转换为BMP文件序列的最佳方法。我已经找到了一些库,比如Wand和ImageMagic,但仍然没有找到一个好的例子来实现这一点。

使用Python图像处理库读取动画GIF文件-Pillow

from PIL import Image
from PIL import GifImagePlugin
imageObject = Image.open("./xmas.gif")
print(imageObject.is_animated)
print(imageObject.n_frames)

显示加载的GIF动画文件中的各个帧

for frame in range(0,imageObject.n_frames):
imageObject.seek(frame)
imageObject.show()
from wand.image import Image
with Image(filename="animation.gif") as img:
img.coalesce()
img.save(filename="frame%02d.bmp)

使用Image.coalesce()重建优化的帧;百分比Escapes";格式化(%02d(以将图像帧写入为单独的BMP文件。

在Imagemagik中,它与Linux一起提供,可以安装在Windows或Mac OSX上,

convert image.gif -coalesce image.bmp

结果将是image-0.bmp,image-1.bmp…

convert用于Imagemagik 6,或将convert替换为magick用于Imagemagick 7。

最新更新