C++ opencv 計時工具cv::getTickCount()和cvGetTickCount的區別及用法


1、cv::getTickCount()與cv::getTickFrequency()搭配使用,計時單位是秒。

使用方法:

double ts = (double)cv::getTickCount();

...

double te = (double)cv::getTickCount();

double T = (te-ts)*1000/cv::getTickFrequency();//單位ms

2、cvGetTickCount()與cvGetTickFrequency()搭配使用,單位是微妙

使用方法:

double ts = (double)cvGetTickCount();

...

double te = (double)cvGetTickCount();

doublt T = (te-ts)/cvGetTickFrequency()*1000;//單位ms

3、GetTickCount()與GetTickFrequency()搭配使用,單位是毫秒

 通常用小單位的時間取度量大單位的時間,比如度量ms,通常應選取方法2,這樣度量時間更精確。

為了更加精確的計算頻率,比如視頻幀率,應該以段時間為單位進行計算,比如:

double ts = (double)cvGetTickCount();

int n = 0;

whiile(true)

{  

n = n+1;

double te = (double)cvGetTickCount();

double T = (te-ts)/cvGetTickFrequency()*1000;//單位ms

if(T>2000)//2秒統計一次幀率

{

int f = n*1000/T;

ts = te;

n = 0;

}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM