这俩函数看上去长得太像了,笔者曾经马大哈地把两者当成一个函数了(确实长得很像),知道有一天发现返回的值离预期值差很远差仔细查了下。
1. getTickCount()
实际上,该函数为opencv中的函数,该函数返回的值为自从某一时刻(比如计算机启动)开始,计算机总共经过的tick的次数,其需要结合getTickFrequency()函数使用,getTickFrequency()返回的是CPU在一秒钟内会发出的tick的次数,总体来说,该函数的精度较高,能够精确到1ms左右,获得时间的一个例子如:
double t = (double)getTickCount();//do sth.t = ((double)getTickCount() - t)/getTickFrequency(); //获得时间,单位是秒
使用时应注意加上 using namespace cv;
2. GetTickCount()
首字母大写后,该函数即为windows编程自带的API函数了,也是统计时间用的,但是用起来的时候,返回的值直接就是ms.根据参考文献1,其精度大概只有18ms左右。
使用时,应注意:
库文件:kernel32.dll
C/C++头文件:winbase.h
windows 中可以使用头文件
Reference
[1] GetTickCount,
[2] ,
[3] opencv 2.4.5帮助手册