Python OpenCV video.get(cv2.CAP_PROP_FPS) возвращает 0,0 FPS

это мое видео

введите описание изображения здесь

Это скрипт для определения fps:

import cv2
if __name__ == '__main__' :

    video = cv2.VideoCapture("test.mp4");

    # Find OpenCV version
    (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')

    if int(major_ver)  < 3 :
        fps = video.get(cv2.cv.CV_CAP_PROP_FPS)
        print "Frames per second using video.get(cv2.cv.CV_CAP_PROP_FPS): {0}".format(fps)
    else :
        fps = video.get(cv2.CAP_PROP_FPS)
        print "Frames per second using video.get(cv2.CAP_PROP_FPS) : {0}".format(fps)

    video.release(); 

Это вывод скрипта для этого видео: Frames per second using video.get(cv2.CAP_PROP_FPS) : 0.0

Почему он возвращает 0.0? Фпс 14.0


person Tasos    schedule 28.02.2018    source источник
comment
Вы проверили, что opencv действительно открыл файл? (с video.isOpened())   -  person api55    schedule 28.02.2018
comment
@api55 вы правы, это не так, он возвращает False. Почему это?   -  person Tasos    schedule 28.02.2018
comment
ну не открылось, можно попробовать с video.open("test.mp4") попробовать, указать полный путь на всякий случай... если не попробовать другое видео (чтобы отбросить проблему с кодеком)   -  person api55    schedule 28.02.2018
comment
На самом деле это было потому, что opencv не был установлен через pip (я понятия не имею, как он импортировался, я впервые его использую). Итак, после выполнения pip-install python-opencv все заработало как по маслу.   -  person Tasos    schedule 28.02.2018
comment
Это просто объясняет, в чем была проблема в первую очередь, когда вы устанавливаете opencv с помощью pip, он приносит свои собственные бэкэнды (ffmpeg), поэтому я думаю, что проблема заключалась в том, что ваш первый бэкэнд opencv был сломан   -  person LichKing    schedule 09.01.2019


Ответы (1)


Выполнение pip install python-opencv устранило проблему, и FPS определяется правильно.

РЕДАКТИРОВАТЬ: протестировано с Python 3.8, и это действительно pip install opencv-python. Не могу вспомнить два года назад, какой питон я использовал.

person Tasos    schedule 28.02.2018
comment
Когда я пробую это в Windows 10, я получаю три строки вывода: Collecting python-opencv, ERROR: Could not find a version that satisfies the requirement python-opencv (from versions: none) и ERROR: No matching distribution found for python-opencv - person HelloGoodbye; 12.08.2019
comment
На самом деле это должно быть pip install opencv-python - person decadenza; 26.03.2020