opencv进阶-打印帧数和运行时间的函数

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv进阶-打印帧数和运行时间的函数相关的知识,希望对你有一定的参考价值。

1.每张图像的运行时间和帧率的计算公式

总时间/总帧数=每一帧图像播放时停留的时间。
总帧数/总时间=帧率

2.getTickFrequency()

getTickFrequency():返回CPU一秒中所走的时钟周期数。即一秒钟的重复次数。
getTickFrequency() / 1000:即一毫秒的重复次数

3.getPerfProfile

getPerfProfile(layersTimings) :每一层的执行时间,单位默认为毫秒
getPerfProfile(layersTimings) / freq:即总时间/总帧数=每一帧图像播放时停留的时间。

4. 代码举例

vector<double> layersTimings;
double freq = getTickFrequency() / 1000;//getTickFrequency() 每一层时间里面所重复显示图像的帧数,默认时间单位为秒,除以1000即转化为毫秒单位。
double time = net.getPerfProfile(layersTimings) / freq;
ostringstream ss;
ss << "FPS" << 1000 / time << ";time:" << time << "ms";
//1000 / time=1000* freq/net.getPerfProfile(layersTimings) =getTickFrequency()/net.getPerfProfile(layersTimings) 
//即总帧数/总时间=帧率

以上是关于opencv进阶-打印帧数和运行时间的函数的主要内容,如果未能解决你的问题,请参考以下文章

videojs怎么获取帧数和时间

abaqus的帧数和时间长度

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

每秒帧数是啥意思

帧数和每秒帧数是一样的吗?

如何在opencv中计算每秒帧数?