[英]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.