繁体   English   中英

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

[英]Python OpenCV video.get(cv2.CAP_PROP_FPS) returns 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? FPS为14.0

执行pip install python-opencv解决了这个问题,并正确检测到 FPS。

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

编辑 2022 年 11 月:如果您使用的是较新的opencv-python版本,请同时查看下面 Perry 的回答

最新版本的 opencv-python 会给出一个名为AttributeError的错误,因为cv2没有任何名为cv的属性。

而是使用以下

import cv2

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

print(f"{fps} frames per second")

这将给出frames per second的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM