Matplotlib 中的像素化动画
Pixelated animations in Matplotlib
我一直在使用 Matplotlib 的动画工具制作动画人物。我注意到一个问题,对于具有大量帧的动画来说尤为明显,即图形的质量会迅速恶化,从而导致像素化 - 输出看起来很模糊。
示例:
凌乱的网格线
像素化输出
我一直在使用
渲染动画
import matplotlib
matplotlib.use("Agg")
anim = animation.FuncAnimation(fig, ..., blit=False)
mywriter = animation.FFMpegWriter(fps=15)
anim.save("path.mp4", writer=mywriter)
我试过使用 blit=True/False 但没发现有太大区别。
Matplotlib 版本:1.4.2。系统:Mac10.10
这对我有用。
您可以在创建写入器实例时更改比特率
import matplotlib.animation as animation
anim = animation.FuncAnimation(fig, ...)
FFMpegWriter = animation.writers['ffmpeg']
metadata = dict(title='Movie Test', artist='Matplotlib',
comment='Movie support!')
# Change the video bitrate as you like and add some metadata.
writer = FFMpegWriter(fps=15, bitrate=1000, metadata=metadata)
然后你就可以保存你的视频了。
anim.save("path.mp4", writer=mywriter)
希望对您有所帮助
我一直在使用 Matplotlib 的动画工具制作动画人物。我注意到一个问题,对于具有大量帧的动画来说尤为明显,即图形的质量会迅速恶化,从而导致像素化 - 输出看起来很模糊。
示例:
凌乱的网格线
像素化输出
我一直在使用
渲染动画import matplotlib
matplotlib.use("Agg")
anim = animation.FuncAnimation(fig, ..., blit=False)
mywriter = animation.FFMpegWriter(fps=15)
anim.save("path.mp4", writer=mywriter)
我试过使用 blit=True/False 但没发现有太大区别。
Matplotlib 版本:1.4.2。系统:Mac10.10
这对我有用。
您可以在创建写入器实例时更改比特率
import matplotlib.animation as animation
anim = animation.FuncAnimation(fig, ...)
FFMpegWriter = animation.writers['ffmpeg']
metadata = dict(title='Movie Test', artist='Matplotlib',
comment='Movie support!')
# Change the video bitrate as you like and add some metadata.
writer = FFMpegWriter(fps=15, bitrate=1000, metadata=metadata)
然后你就可以保存你的视频了。
anim.save("path.mp4", writer=mywriter)
希望对您有所帮助