Qt+Opencv应用程序计时/度量(测量速度)的三种方法
OpenCV计时/度量方法(测量速度),尽量远离经验法则,请试着用你的测量或者任何可信语言的测量参考作为你的经验法则的来源:
可以使用OPenCV中的TickMeter类或getTickFrequency函数和getTickCount函数来度量一个计算机视觉过程(或者任何处理这个问题的过程)的执行时间。还可以使用Qt中的QElapsedTimer类。
getTickFrequency可以用来获得一秒钟内CUP的时钟数(即频率),getTickCount可以用来获得自启动以来传递的CPU时钟数。
不过,TickMeter类提供了更大的灵活性,而且更易于使用。只需在任何过程之前启动该类,并在该过程之后停止该类。
//! 方法一:OpenCV-getTickCount()、getTickFrequency()
int64 tickCount = cv::getTickCount();
//! 方法二:OpenCV-TickMeter类
cv::TickMeter meter;
meter.start();
//! 方法三:Qt-----QElapsedTimer类
QElapsedTimer timer;
timer.start();
currentPluginInstance->processImage(originalMat, processedMat);//具体的应用程序处理过程
meter.stop();
double ms = (cv::getTickCount() - tickCount) * 1000 / cv::getTickFrequency();
qDebug() << "-------------------------TickMeter---------------------------";
qDebug() << "耗时:" << meter.getTimeMicro() << "微妙";//3678.6
qDebug() << "耗时:" << meter.getTimeMilli() << "毫秒";//3.6786
qDebug() << "耗时:" << meter.getTimeMilli() << "计数";//3.6786
qDebug() << "耗时:" << meter.getTimeSec() << "秒"; //0.0036786
qDebug() << "-------------------------QElapsedTimer---------------------------";
qDebug() << "耗时:" << timer.elapsed() << "毫秒"; //4,整数
qDebug() << "-------------------------getTickCount()---------------------------";
qDebug() << "耗时:" << ms << "毫秒"; //3.6787
printf("in %g ms\n", ms); //3.6787,浮点数毫秒
fflush(stdout); //该语句不能少啊
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端