getTickCount()函数 VS GetTickCount()函数

这俩函数看上去长得太像了,笔者曾经马大哈地把两者当成一个函数了(确实长得很像),知道有一天发现返回的值离预期值差很远差仔细查了下。

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程序设计中可以使用头文件windows.h

 

Reference

[1]  GetTickCount, http://baike.baidu.com/link?url=RYtSl34MY7OtEi97RlNdh9vN_08ihfkcw30rrF5TgUZ4G6UJP4-7Oy3sjmaPBakwFFR7ZdHJyF6cQk0P_wnFKa

[2] GetTickCount() 函数的作用和用法, http://www.cnblogs.com/jxsoft/archive/2011/10/17/2215366.html

[3] opencv 2.4.5帮助手册

posted @ 2014-04-23 17:23  jiayouwyhit  阅读(2830)  评论(1编辑  收藏  举报