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