2016-07-19 3 views
1

Я пытаюсь сохранить видео с веб-камерой с помощью кнопок wx. Это мой кодcv2.VideoCapture не возвращает фреймы

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, пока я не закрыть питон оболочки себя. Итак, я думаю, capture.read() не возвращает фреймы. Что может быть причиной?

Как я могу заставить его работать? Надежда на некоторые советы экспертов :)

+0

делает распечатать «Error» в начале? – Micka

+0

Нет, я не распечатываю Ошибка, это только печатает 'capture failed' – SivamNatesan

ответ

0

Попробуйте инициализировать счетчик перед чтением захват для Eg:

i = 0 
while i < 0: 
    ret, frame = capture.read() 
    if ret: 
      out.write(frame) 
    else: 
      print "Error" 
+0

Спасибо за его работу :) – SivamNatesan

Смежные вопросы