【问题标题】:How can I convert a single GIF image to a sequence of BMP images with Python如何使用 Python 将单个 GIF 图像转换为 BMP 图像序列
【发布时间】:2021-07-07 04:12:18
【问题描述】:

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

【问题讨论】:

    标签: python imagemagick wand image-conversion


    【解决方案1】:

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

    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()
    

    【讨论】:

      【解决方案2】:
      from wand.image import Image
      with Image(filename="animation.gif") as img:
          img.coalesce()
          img.save(filename="frame%02d.bmp)
      

      使用Image.coalesce() 重建优化帧,使用 ImageMagick 的“Percent Escapes”格式 (%02d) 将图像帧写入单独的 BMP 文件。

      【讨论】:

        【解决方案3】:

        在 Linux 附带的 Imagemagick 中,可以安装用于 Windows 或 Mac OSX,

        convert image.gif -coalese image.bmp
        

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

        对于 Imagemagick 6 使用 convert 或对于 Imagemagick 7 将 convert 替换为 magick

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-01-31
          • 2010-10-19
          • 2011-02-01
          • 1970-01-01
          • 2014-07-23
          • 2020-05-10
          • 1970-01-01
          • 2012-01-24
          相关资源
          最近更新 更多