OpenCV:从凸轮写一个视频,奇怪的结果(Python和Mac)

时间:2012-05-10 14:39:51

标签: python macos opencv

我正试图从网络摄像头抓取帧然后将其写入视频中。它有效,视频显示了一些东西,但没用。

在这里,您可以看到我收到的视频示例:

The kind of video I get

脚本非常大,所以我会尝试为这个问题挑选相关的部分:

import cv
capture = cv.CaptureFromCAM(1) # from webcam
frame  = cv.QueryFrame(capture)
newvideo = 'Videos/%d_%d_%d_%d_%d_%d.avi' % (localtime()[0],localtime()[1],localtime()[2],localtime()[3],localtime()[4],localtime()[5])
video = cv.CreateVideoWriter(newvideo, cv.CV_FOURCC('D','I','V','X'), 30, cv.GetSize(frame), 1)

while(1):
frame  = cv.QueryFrame(capture)
cv.WriteFrame(video, frame)
key = cv.WaitKey( int((1/30.)*1000)+1 )

1 个答案:

答案 0 :(得分:1)

提示:防御性地开始编码并检查您所做的通话的返回。例如:

video = cv.CreateVideoWriter(newvideo, cv.CV_FOURCC('D','I','V','X'), 30, cv.GetSize(frame), 1)    
if not video :
    print "Error in creating video writer"
    sys.exit(1)

这可能是与编解码器相关的问题,因此请尝试使用other codecs创建视频:

video = cv.CreateVideoWriter(newvideo, cv.CV_FOURCC('F','L','V','1'), 30, cv.GetSize(frame), 1)  

更新已安装的产品可能是个好主意。