【问题标题】:OpenCV: Writing a video from a cam, strange results (Python and Mac)OpenCV:从摄像头编写视频,奇怪的结果(Python 和 Mac)
【发布时间】:2012-05-10 14:39:51
【问题描述】:

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

在这里你可以看到我得到的视频示例:

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

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 )

【问题讨论】:

    标签: python macos opencv


    【解决方案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)  
    

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

    【讨论】:

    • 我尝试了所有的 cmets 并得到了相同的输出。它不会返回错误。我使用“perian pack”甚至官方的 divx 包更新了我的编解码器,并且输出相同。所以我想我做错了什么。
    猜你喜欢
    • 1970-01-01
    • 2011-07-22
    • 2016-07-26
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多