Python OpenCV video.get(cv2.CAP_PROP_FPS)返回0.0 FPS

Tas*_*sos 6 python mp4 opencv frame-rate

这是我的影片

在此处输入图片说明

这是找到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(); 
Run Code Online (Sandbox Code Playgroud)

这是此视频的脚本输出: Frames per second using video.get(cv2.CAP_PROP_FPS) : 0.0

为什么返回0.0?FPS为14.0

Per*_*rry 7

最新版本的 opencv-python 将给出一个错误,称为AttributeErrorbecause cv2does not have any attribute named cv

而是使用以下内容

import cv2

vidcap = cv2.VideoCapture('some_video.avi')
fps = vidcap.get(cv2.CAP_PROP_FPS)

print(f"{fps} frames per second")
Run Code Online (Sandbox Code Playgroud)

这将给出frames per second


Tas*_*sos 6

执行pip install python-opencv修复了问题并正确检测到 FPS。

编辑:用 python 3.8 测试,确实是pip install opencv-python. 不记得两年前我用的是什么 python。

  • 当我在 Windows 10 上尝试此操作时,我得到三行输出:“正在收集 python-opencv”、“错误:找不到满足 python-opencv 要求的版本(来自版本:无)”和“错误:没有匹配”找到 python-opencv 的发行版` (2认同)
  • 实际上应该是`pip install opencv-python` (2认同)
  • 在 Google Colab 笔记本上,我必须使用“pip install --upgrade --force-reinstall opencv-python” (2认同)