当我们解决一个问题有多个算法时,我们需要比较各个算法的优劣性,其中运行时间就是一个重要的指标。
opencv给我们提供了方便的函数来求取调用一个函数所花费的时间:
<span style="white-space:pre"> </span>double duration1 = static_cast<double>(getTickCount());
//add your algorithm here
...
//end of your algorithm
duration1 = static_cast<double>(getTickCount()) - duration1;
duration1/=getTickFrequency();
从例程中我们可以看出,我们调用了cv::getTickCount() ,cv::getTickFrequency() 两个函数。其中,cv::getTickCount() 返回一个计算机运行到现在的一个计数,而cv::getTickFrequency()则是这个计数的频率。所以获取了调用算法前后的计数差值后再除以计数频率就能的到我们要求的运行时间。