微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用python将一堆图片放入视频中?

如何解决如何使用python将一堆图片放入视频中?

我有一个程序,该程序使用matplotlib绘制数组,然后将其另存为.png文件。数组将更新,再次绘制并保存为新的.png文件。图像文件标题为image0,image1等。当前,我使用一个MATLAB程序,该程序使用WriteVideo()将图像放入视频中。有人知道如何在Python中执行此操作吗?

解决方法

正如Quang所提到的,matplotlib确实有一个动画模块,但在后端它使用的是ffmpeg(或ImageMagick或许多其他引擎)。根据我的个人经验,我建议保存单个图像文件,然后直接使用ffmpeg创建视频。这样可以更好地控制最终输出。

给出一个顺序命名文件的目录,您的ffmpeg命令如下所示:

ffmpegCommand = "ffmpeg -start_number {0} -framerate 25 -i image%d.png -c:v libx264 -r 25 -pix_fmt yuv420p {1}.mp4".format(0,"output")

您用来调用的:

os.chdir(thisWorkDir)  #change to the directory where your files sit
os.system(ffmpegCommand)   #or use subprocess module

如果您希望视频变慢,请使用较低的帧率(这意味着将每个图像保持更长的时间)

该方法的另一个技巧-使用起始计数器(例如1000),因此按顺序编号的图像文件名是image1000,image1001,image1002等(您可以在ffmpeg命令中相应地更改-start_number)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。