gpt4 book ai didi

python - 使用 imagemagick 保存 matplotlib 动画,不使用 ffmpeg 或 mencoder

转载 作者:太空狗 更新时间:2023-10-30 02:04:10 25 4
gpt4 key购买 nike

我想创建计算函数的动画。我无法在用于运行动画的集群上安装 ffmpeg 或 mencoder,但安装了 imagemagick。 matplotlib.animation 显然支持 imagemagick 作为动画编写器(例如,参见 here)。文档说支持的格式是:

['png', 'jpeg', 'ppm', 'tiff', 'sgi', 'bmp', 'pbm', 'raw', 'rgba']

我认识到其中一些是非动画文件类型,但显然 ffmpeg 以某种方式支持 .sgi 文件。如果我必须在 cluster 上使用的编解码器是模糊的,如果我可以在我的家用计算机上使用 ffmpeg 或 mencoder 转换它,那很好。

如何使用 imagemagick 通过 matplotlib 保存动画?

最佳答案

这篇旧帖子是在我努力获得一些 matplotlib 时突然出现的动画导出为动画 gif。这不是火箭科学,但第一次设置仍然有些麻烦。我会留下这篇文章以备将来引用。

至于在集群上设置此环境时的具体细节,我想您必须根据服务器的特定需求转换每个步骤。动画 gif 至少是 ImageMagickWriter 提供的动画选项之一, 但可能还有更多。

操作方法

  • 获取 ImageMagick二进制文件
  • 设置环境变量MAGICK_HOME指向 '<your-install-dir>\modules\coders'文件夹(参见 the docs。在 Windows 上时,记得注销并重新打开)
  • 将 matplotlib 指向 ImageMagick 的安装目录:( mpl docs on rcParams )

    import matplotlib.pyplot as plt
    plt.rcParams['animation.convert_path'] = '<your-install-dir>/magick.exe'
  • 导出您的动画! ( mpl docs on ImageMagickFileWriter )

    writer = ImageMagickFileWriter()
    your_animation.save('location.gif', writer=writer)

请注意,默认情况下,除了非零返回码外,ImageMagick 抛出的错误不会到达您的手中。要获得更广泛的反馈,您需要类似的东西

import matplotlib as mpl
mpl.verbose.set_level("helpful")

奖金

作为奖励,这里有一个生命证明:

Mother's age at first pregnancy in The Netherlands

关于python - 使用 imagemagick 保存 matplotlib 动画,不使用 ffmpeg 或 mencoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23417487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com