python 使用opencv 计算视频的实时fps
时间: 2024-09-19 13:09:10 浏览: 99
在Python中,使用OpenCV计算视频的实时帧率(Frames Per Second,FPS)通常涉及到读取视频流、处理每一帧并更新计数器。以下是一个简单的示例:
```python
import cv2
# 初始化视频捕获对象
cap = cv2.VideoCapture('your_video.mp4')
# 初始化帧次数和时间
frame_count = 0
start_time = cv2.getTickCount()
while True:
# 检查是否成功读取到帧
ret, frame = cap.read()
# 如果帧未读取到,可能是视频结束,退出循环
if not ret:
break
# 进行必要的图像处理(这里可以省略)
# 增加帧计数
frame_count += 1
# 更新时间
current_time = (cv2.getTickCount() - start_time) / cv2.getTickFrequency()
# 计算并打印当前的FPS
fps = frame_count / current_time
print(f"FPS: {fps:.2f}")
# 显示或保存帧(可视需要保留)
cv2.imshow('Frame', frame)
# 按 'q' 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 关闭窗口和释放资源
cap.release()
cv2.destroyAllWindows()
```
在这个例子中,`cv2.getTickCount()` 返回系统计时器的当前值,`cv2.getTickFrequency()` 提供了每秒的计时器周期,用于计算帧速率。