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进阶-打印帧数和运行时间的函数的主要内容,如果未能解决你的问题,请参考以下文章