如何从 matplotlib 中的图像数组制作视频?

2024-04-14

我有几张图片展示了事物如何随时间变化。我使用以下代码将它们可视化为同一绘图上的许多图像:

import matplotlib.pyplot as plt
import matplotlib.cm as cm

img = [] # some array of images
fig = plt.figure()
for i in xrange(6):
    fig.add_subplot(2, 3, i + 1)
    plt.imshow(img[i], cmap=cm.Greys_r)

plt.show()

and get something like:enter image description here

没关系,但我宁愿让他们动起来像这个视频的东西 https://kaggle2.blob.core.windows.net/competitions/kaggle/4729/media/heartbeat_cropped.mp4。我怎样才能用 python 实现这一点,最好(不一定)用 matplotlib


对于我自己的未来,这就是我的最终结果:

def generate_video(img):
    for i in xrange(len(img)):
        plt.imshow(img[i], cmap=cm.Greys_r)
        plt.savefig(folder + "/file%02d.png" % i)

    os.chdir("your_folder")
    subprocess.call([
        'ffmpeg', '-framerate', '8', '-i', 'file%02d.png', '-r', '30', '-pix_fmt', 'yuv420p',
        'video_name.mp4'
    ])
    for file_name in glob.glob("*.png"):
        os.remove(file_name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 matplotlib 中的图像数组制作视频? 的相关文章

随机推荐