我在按下按钮时尝试使用视频编辑器对象保存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上。
答案 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
capture
和video_writer
使用capture.release()
和video_writer.release()
。
并且cv2.imshow('Video', frame)
不会像这样工作,您必须在其后添加cv2.waitKey(1)
才能使其正常工作。
修改强>
您的设备驱动程序可能存在问题。按照here说明操作,它应该可以正常工作。