原文:OpenCV - 计算相机和视频的帧速率FPS[译] - AIUAI
原文:How to find frame rate or frames per second (fps) in OpenCV ( Python / C++ ) ? - 2015.11.12
OpenCV 库中的 VideoCapture
类主要处理视频读取以及从连接的相机中获取图像帧.
基于VideoCapture
中的 get(PROPERTY_NAME)
方法可以获取到视频文件的很多信息. 其中,关于视频的最常用的属性是帧速率(frame rate),也叫每秒帧数(frames per second).
1. 计算相机的帧速率FPS
OpenCV 并不能很直接的得到所连接的相机(camera/webcam) 的帧速率.
在 OpenCV 的文档中,所述的是,get(CAP_PROP_FPS) 和 get(CV_CAP_PROP_FPS) 方法给出了每秒帧数. 这对于视频文件而言是正确的,但是并不适用于 webcams. 对于webcams 以及许多其它 cameras,不得不手工计算每秒的帧数. 可以从视频中读取一定量的视频帧,然后根据所耗时间,计算得到每秒帧数.
1.1. Python 实现
#!/usr/bin/env python
#! --*-- coding:utf-8 --*--
import cv2
import time
if __name__ == '__main__' :
# 启动默认相机
video = cv2.VideoCapture(0);
# 获取 OpenCV version
(major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')
# 对于 webcam 不能采用 get(CV_CAP_PROP_FPS) 方法
# 而是:
<