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) 
//即总帧数/总时间=帧率

猜你喜欢

转载自blog.csdn.net/weixin_51244852/article/details/119702916