Python OpenCV: различия VideoCapture между Python 2.7 и Python 3.5

Я подключен к удаленной системе через ssh и пытаюсь читать кадры с помощью OpenCV VideoCapture в Python. Один и тот же код работает успешно при использовании Python 2.7 и не работает при использовании Python 3.5:

import cv2
cap = cv2.VideoCapture(0)

Питон2.7:

print cap.isOpened() # prints True, further read() calls also return True

Питон3.5:

print (cap.isOpened()) # prints False, and so are cap.open(), and of course cap.read().

Что могло вызвать такое поведение?

Спасибо!


person rkellerm    schedule 19.02.2017    source источник
comment
Каждая из версий Python имеет свою собственную копию двоичных файлов openCV, и, возможно, они были созданы с разными параметрами?   -  person Dan Mašek    schedule 19.02.2017


Ответы (1)


У меня была точно такая же проблема. OpenCV был установлен из исходников. Разница между средами Python 2 и 3 заключалась в том, что для Python 3 opencv-python был дополнительно установлен через pip3. А

pip3 uninstall opencv-python

решил это в моем случае.

person Tober    schedule 26.02.2017
comment
Это была именно моя проблема. Спасибо! - person rkellerm; 19.03.2017