如何编写脚本从一组图像创建电影?
我用Python成功加载了一组图片。
我希望我的脚本能够把这些图片(无论是什么格式)制作成一个视频。这里最大的限制是,我希望能找到一个简单易安装的工具。理想情况下,能按照标准的OS X安装步骤来操作:
- 下载.dmg文件
- 点击打开
- 移动到应用程序文件夹
我不想花太多时间去安装视频编辑软件,只想要一个简单有效的工具。
问题
我应该选择什么格式?我需要我的视频能在Linux、Mac和Windows系统上播放。这些图片是图表,所以是离散的图像,而不是照片。压缩应该比较简单。总共有大约1000张图片,所以这将是一个短片。
我应该使用什么工具来制作视频?我需要直接从Python中使用一个专门为此设计的库,或者通过Python调用命令行工具来实现。
3 个回答
4
你一定要用Python吗?其实还有其他专门为这些目的开发的工具。例如,你可以使用 ffmpeg 或 mencoder。
9
你可以使用OpenCV这个工具。它可以在Mac上安装。而且,它还有一个Python接口,方便你用Python来操作。
我稍微修改了一下从这里找到的一个程序,但我不知道它能否编译,也无法检查。
import opencv
from opencv.cv import *
from opencv.highgui import *
isColor = 1
fps = 25 # or 30, frames per second
frameW = 256 # images width
frameH = 256 # images height
writer = cvCreateVideoWriter("video.avi",-1,
fps,cvSize(frameW,frameH),isColor)
#-----------------------------
#Writing the video file:
#-----------------------------
nFrames = 70; #number of frames
for i in range(nFrames):
img = cvLoadImage("image_number_%d.png"%i) #specify filename and the extension
# add the frame to the video
cvWriteFrame(writer,img)
cvReleaseVideoWriter(writer) #
21
如果你不介意使用命令行的话,可以试试ImageMagick这个软件包里的convert
命令。它适用于Mac、Linux和Windows系统。你可以在这里找到更多信息:http://www.imagemagick.org/script/index.php.
这个命令支持很多种图片格式,你可以把你的电影输出为mpeg文件:
convert -quality 100 *.png outvideo.mpeg
或者输出为动画gif,方便上传到网页上:
convert -set delay 3 -loop 0 -scale 50% *.png animation.gif
关于convert
命令的更多选项,可以在这里查看:ImageMagick v6 示例 - 动画基础