2016-07-18 4 views
0

У меня есть несколько файлов avi, которые я пытаюсь читать по кадре. Я использовал OpenCV 3.1.0, чтобы прочитать кадры:python cv2.VideoCapture не открывается

import cv2 
cap = cv2.VideoCapture(file_path) 

, а затем я только что прочитал кадры колпачка. Это отлично работает на некоторых видео. Недавно я сделал несколько видеороликов, и тот же код появился пустым. Я проверил:

cap.isOpened() # return False 

и кажется, что видео не открывается должным образом. Насколько мне известно, единственное, что изменилось, это то, что новые видеоролики цветны, а старые - нет. Я не знаю, как это изменит что-нибудь в коде. Я проверил, что видео открываются отлично в другом программном обеспечении (imageJ), поэтому я уверен, что само видео не является проблемой.

Любые идеи, почему новые видео не открываются должным образом? Я не смог найти какую-либо информацию о том, как отладить эту проблему. Любые советы будут очень признательны.

ответ

1

я переключился на ImageIO вместо OpenCV и все работает хорошо

0

Проблема заключается в том, что вы никогда не открыть cap. Я не сделал этого из видеофайла, но для использования камеры он выглядит примерно так:

import cv2 
#instantiate videocapture object (0 is for the default webcam) 
cap = cv2.VideoCapture(0) 

while(True): 
    #read frame from video file 
    ret, frame = cap.read() 
    cv2.imshow('frame',frame) 

    #if esc key pressed or no more video input 
    if cv2.waitKey(1) & 0xFF == 27 or ret==False: 
     break 

# When everything done, release the capture 

cv2.destroyAllWindows() 
cap.release() 
+0

Мой код (используя OpenC V) идентична вашей. Проблема в том, что колпачок не открывается должным образом. В вашем примере ret возвращает False. –

+0

, если вы используете окна, тогда вы можете попробовать «r» file_path », если в пути есть' \ u', который будет рассматриваться как побег в unicode. Добавление «r» в начале для исходного текста. – ThisGuyCantEven

0

Я делал ту же ошибку.

Решение.

  1. Использование PyCharm
  2. Установите Anaconda3
  3. Конда установить -c Конда-кузнечный OpenCV (открыть CMD с правами администратора)
  4. Выберите Anaconda3 в PyCharm (Файл -> Настройки -> Проект переводчика)

И ТЕСТИРОВАНИЕ

def VideoPlayer(): 
    cap = cv2.VideoCapture("D:\OpenCv4Programmers\datas\TomAndJerry.mp4") 

    while (True): 
     # Capture frame-by-frame 
     ret, frame = cap.read() 

     # Our operations on the frame come here 
     gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 

     # Display the resulting frame 
     cv2.imshow('frame', gray) 
     if cv2.waitKey(1) & 0xFF == ord('q'): 
      break 

    # When everything done, release the capture 
    cap.release() 
    cv2.destroyAllWindows() 
Смежные вопросы