方法一:使用chrono
#include <iostream> // std::cout
#include <chrono>
using namespace std;
int main ()
{
std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();
......
......
auto t2 = std::chrono::steady_clock::now();
std::chrono::duration<double> time_span = std::chrono::duration_cast<std::chrono::duration<double>>(t2 - now);
std::cout << "It took me " << time_span.count() << " seconds." << std::endl;
return 0;
}
方法二:使用opencv自带的getTickCount()和getTickFrequency()函数进行统计时间
double t1 = (double)getTickCount();
......
......
double t2 = (double)getTickCount();
cout<<"time:"<<(t2-t1)*1000/(getTickFrequency())<<endl;
PS: 方法一和方法二统计的时间相差不大,任选其中一种方法作为自己的常用方法即可。
方法三:使用time.h提供的clock()进行时间统计,但是与前两种方法相比较,这种方法有时候统计得到的时间存在不准确的问题,有时候会比上述两种方法多一倍时间,所以不建议使用。
#include "time.h"
int main()
{
clock_t start = clock();
......
......
clock_t end = clock();
double time = (double)(end-start)/CLOCKS_PER_SEC;
std::cout << "time: " << time << std::endl;
}