16

「matplotlib.animation」モジュールで mp4 ムービーとして保存されたアニメーションの解像度を設定するにはどうすればよいですか?

Web では、「animation.FuncAnimation」を使用した例しか見つかりませんでした。たとえば、 http: //jakevdp.github.com/blog/2012/08/18/matplotlib-animation-tutorial/の素敵なチュートリアルが使用されています。

anim = animation.FuncAnimation(fig, animate, init_func=init,
                           frames=200, interval=20, blit=True)
anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

matplotlib.animation モジュール リファレンスから、「dpi」引数を提供する「animation.Animation.save」メソッドを見つけましたが、この関数を適切に適用する方法がわかりません

matplotlib.animation.Animation.save(filename, writer=None, fps=None, dpi=None, codec=None, bitrate=None, extra_args=None, metadata=None, extra_anim=None)

小さなサンプルコードが役立つ場合があります。

どうもありがとう。

ヨハネス

PS: ところで、sytax-highlighting を使用して Python コードを挿入するにはどうすればよいですか?

4

2 に答える 2

21

ラウンドアバウトな方法で解像度を制御できます。解像度、図形サイズ、dpi はすべて独立しているわけではありません。そのうちの 2 つがわかれば、3 つ目は固定されます。

dpiを保存引数に設定できます。保存する前に、図のサイズを次のように設定します。

fig.set_size_inches(w_in_inches, h_in_inches, True). 

あなたの解決策はdpi * w_in_inches X dpi * h_in_inchesです。

dpi = 100
writer = animation.writers['ffmpeg'](fps=30)
ani.save('test.mp4',writer=writer,dpi=dpi)

ソースから mpl の新しいバージョンにアップグレードする必要があるかもしれません (debian は非常に保守的であり、非常に保守的であるためひどいものです)。

于 2013-02-02T21:24:43.733 に答える
3

bitrateムービーの品質を指定するために使用されるパラメーターです。設定した値が高いほど、ムービーの品質が高くなります。

于 2013-02-02T20:59:46.577 に答える