Reference:
1. OpenCV
OpenCV 中使用 getTickCount()
和 getTickFrequency()
计算执行时间,两个API均被定义在了core.hpp文件下。
1.1 使用方式
auto start_time = cv::getTickCount();
... ...
auto end_time = cv::getTickCount();
auto freq = cv::getTickFrequency();
printf("--\033[42;37m total: %.04fs |\033[0m\n",(end_time-start_time)/freq);
getTickCount()
返回从操作系统启动到当前所经的计时周期数;getTickFrequency()
用于返回CPU的频率,也就是一秒内重复的次数;
总结:
总次数/一秒内重复的次数 = 时间(s)
1000 *总次数/一秒内重复的次数= 时间(ms)
2. chrono
C++ 标准库中使用 #include <chrono>
计算执行时间。
2.1 使用方式
chrono::steady_clock::time_point t1 = chrono::steady_clock::now();
... ...
chrono::steady_clock::time_point t2 = chrono::steady_clock::now();
chrono::duration<double> time_used = chrono::duration_cast < chrono::duration < double >> (t2 - t1);
cout << "遍历图像用时:" << time_used.count() << " 秒。" << endl;