这里涉及到两个函数:cvGetTickCount()和 cvGetTickFrequency()
使用时,在程序段的开始和结束时两次使用cvGetTickCount(),然后将两次的差除以cvGetTickFrequency()后就可以获得程序段的以微秒us为单位的运行时间.
具体如下:
double t = (double)cvGetTickCount();
代码段
..................
t = (double)cvGetTickCount() - t;
printf( "exec time = %gms\n", t/cvGetTickFrequency() ); //%g是在%f和%e中较短的形式输出,并且会省略多余的0
说明:
%g是转换说明符的一种,具体指代浮点数(去掉无意义的0)
%f也可指代浮点数,但输出时保留无意义的0
例子:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
float j;
j=11.2333;
printf("j=%g\n",j);
printf("j=%f\n",j);
return 1;
}
运行程序后,终端输出:
j=11.2333
j=11.233300