【问题标题】:Python OpenCV video.get(cv2.CAP_PROP_FPS) returns 0.0 FPSPython OpenCV video.get(cv2.CAP_PROP_FPS) 返回 0.0 FPS
【发布时间】:2018-08-08 02:39:22
【问题描述】:

这是我的视频

这是寻找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? FPS 为 14.0

【问题讨论】:

  • 你检查opencv实际打开文件了吗? (与video.isOpened()
  • @api55 你是对的它没有,它返回False。这是为什么呢?
  • 好吧,它没有打开它,你可以试试video.open("test.mp4")试试,把完整的路径,以防万一......如果没有尝试另一个视频(丢弃编解码器问题)
  • 这实际上是因为opencv不是通过pip安装的(我不知道它是如何导入的,这是我第一次使用它)。所以在pip-install python-opencv 之后,它就像一个魅力。
  • 这首先解释了问题所在,当您使用 pip 安装 opencv 时,它会带来自己的后端 (ffmpeg),所以我认为问题在于您的第一个 opencv 后端已损坏

标签: python opencv mp4 frame-rate


【解决方案1】:

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

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

【讨论】:

  • 当我在 Windows 10 上尝试此操作时,我得到三行输出:Collecting python-opencvERROR: Could not find a version that satisfies the requirement python-opencv (from versions: none)ERROR: No matching distribution found for python-opencv
  • 其实应该是pip install opencv-python
  • 在 Google Colab Notebook 上,我必须使用 pip install --upgrade --force-reinstall opencv-python
猜你喜欢
  • 2018-07-16
  • 2018-05-20
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
相关资源
最近更新 更多