#!/usr/bin/env python
import cv2
import time
if __name__ == '__main__' :
# Start default camera
video = cv2.VideoCapture(0);
# Find OpenCV version
(major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')
# With webcam get(CV_CAP_PROP_FPS) does not work.
# Let's see for ourselves.
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))
# Number of frames to capture
num_frames = 120;
print("Capturing {0} frames".format(num_frames))
# Start time
start = time.time()
# Grab a few frames
for i in range(0, num_frames) :
ret, frame = video.read()
# End time
end = time.time()
# Time elapsed
seconds = end - start
print ("Time taken : {0} seconds".format(seconds))
# Calculate frames per second
fps = num_frames / seconds
print("Estimated frames per second : {0}".format(fps))
# Release video
video.release()
注意
cap.get(cv2.CAP_PROP_FPS) 有时会获取到异常值 180000.0,所以当异常时使用时间差的方式获取
使用OpenCV获取摄像头帧率与性能分析
该博客介绍了如何使用OpenCV库在Python中打开默认摄像头,并通过两种方式获取帧率:直接使用`cv2.CAP_PROP_FPS`属性(在某些情况下可能返回异常值)以及通过计时器计算实际帧率。博主还展示了如何计算在指定帧数下捕获视频所用的时间,从而估算出实际的帧率。
1742

被折叠的 条评论
为什么被折叠?



