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;
}
}