在OpenCV中为图像序列设置动画

时间:2011-04-22 23:01:17

标签: python opencv

我正在尝试拍摄从网络摄像头(jpgs)捕获的一系列图像,并通过OpenCV / Python为它们制作动画。我知道我可以通过cv.CreateFileCapture和cv.QueryFrame播放预先录制的视频文件,但是如何处理静态图像文件夹呢?

2 个答案:

答案 0 :(得分:2)

您只需在循环中执行cvShowImage然后cvWaitKey(delay),并将延迟设置为适合您所需帧速率的内容。

import glob
import opencv.highgui

highgui.cvNamedWindow('mahMovie')

# Assumes an ordered sequence of filenames (001.jpg, 002.jpg, etc)
for filename in sorted(glob.glob('./*.jpg')):
    img = highgui.cvLoadImage(filename)
    highgui.cvShowImage('mahMovie', img)
    highgui.cvWaitKey(33)

highgui.DestroyWindow('mahMovie)

答案 1 :(得分:1)

一种方法是将图像序列转换为avi电影

writer = highgui.cvCreateVideoWriter('movie.avi', highgui.CV_FOURCC('M','P','E','G'), framerate, (width,height))

for i in range(len(images)):
    highgui.cvWriteFrame(writer, images[i])


highgui.cvReleaseVideoWriter(writer)