我正在尝试用wx按钮保存网络摄像头视频。这是我的代码
def OnRecord(self, evt):
capture = cv2.VideoCapture(0)
if (not capture.isOpened()):
print "Error"
# video recorder
fourcc = cv2.cv.CV_FOURCC('D', 'I', 'V', 'X') # cv2.VideoWriter_fourcc() does not exist
out = cv2.VideoWriter("output.avi", fourcc, 9.0, (640, 480), True)
# record video
while (capture.isOpened()):
ret, frame = capture.read()
if not ret:
print "Capture Failed"
else:
out.write(frame)
cv2.imshow('Video', frame)
但它会打印Capture Failed
,直到我自己关闭python外壳。所以,我猜capture.read()
不会返回帧。原因可能是什么?
我怎样才能让它工作?希望得到一些专家建议:)
在读取捕获之前尝试初始化计数器例如:
i = 0
while i < 0:
ret, frame = capture.read()
if ret:
out.write(frame)
else:
print "Error"