python opencv不会使用Video-writer对象写视频?

时间:2016-07-07 05:39:54

标签: python opencv raspberry-pi2

我在按下按钮时尝试使用视频编辑器对象保存OpenCV视频流,但它只保存5.5kb文件。

def OnRecord(self, evt):
    capture = cv2.VideoCapture(0)
    if not(capture.isOpened()):
       print "Error"
    # video recorder
    fourcc = cv2.cv.CV_FOURCC(*'XVID')  
    video_writer = cv2.VideoWriter.open("output.avi", fourcc, 20, (640, 480), True)

    # record video
    while (capture.isOpened()):
        ret, frame = capture.read()
        if ret==True:
            video_writer.write(frame)
            cv2.imshow('Video', frame)
        else:
            break

def OnCancel(self, evt):
    capture.release()
    video_writer.release()
    cv2.destroyAllWindows()

有什么问题?

注意 - 我在Raspberry-pi上。

1 个答案:

答案 0 :(得分:0)

video_writer = cv2.VideoWriter.open("output.avi", fourcc, 20, (640, 480),True)

给我错误。我试过了

video_writer = cv2.VideoWriter("output.avi", fourcc, 20, (640, 480), True)

它有效。

另请确保release capturevideo_writer使用capture.release()video_writer.release()

并且cv2.imshow('Video', frame)不会像这样工作,您必须在其后添加cv2.waitKey(1)才能使其正常工作。

修改

您的设备驱动程序可能存在问题。按照here说明操作,它应该可以正常工作。