当我在Python中使用保存动画时,为什么我无法获得视频?

时间:2014-03-23 12:42:50

标签: python animation

我想保存使用Python创建的矢量动画。当我执行程序时,我得到几个图像_tmp0001.png,直到_tmp0100.png但是暂时。执行结束时,100个图像消失,不生成avi文件。请在这里找到一个最小的工作环境:

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
from numpy import pi

X,Y = np.meshgrid(np.arange(0,2*np.pi,.2),np.arange(0,2*np.pi,.2) )  
U = np.cos(X)
V = np.sin(Y)

fig,ax = plt.subplots(1,1)
Q = ax.quiver( X, Y, U, V, pivot='mid', color='r', units='inches')

ax.set_xlim(0, 2*pi)
ax.set_ylim(0, 2*pi)

def update_quiver(num, Q, X, Y):
    U = np.cos(X + num*0.1)
    V = np.sin(Y + num*0.1)
    Q.set_UVC(U,V)
    return Q,


anim = animation.FuncAnimation(fig, update_quiver, fargs=(Q, X, Y),
    interval=10, blit=False)
anim.save("movie.avi", codec='avi')

plt.show() 

任何帮助都将受到高度赞赏!谢谢!

1 个答案:

答案 0 :(得分:1)

在对ffmpeg进行小修改和安装后,代码生成了一个avi文件。

  • 我删除了codecs='avi'参数:

    anim.save("movie.avi")
    
  • 已移除对plt.show的调用:

    #plt.show() 
    

以下是生成的视频:http://youtu.be/p4kpA9mcqbs