|
@@ -3,6 +3,8 @@
|
|
|
|
|
|
#include <opencv4/opencv2/opencv.hpp>
|
|
#include <opencv4/opencv2/opencv.hpp>
|
|
#include <string>
|
|
#include <string>
|
|
|
|
+#include <sys/time.h>
|
|
|
|
+#include <chrono>
|
|
|
|
|
|
namespace ImageTest
|
|
namespace ImageTest
|
|
{
|
|
{
|
|
@@ -13,5 +15,43 @@ namespace ImageTest
|
|
cv::imwrite(filename, image);
|
|
cv::imwrite(filename, image);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ class HighResolutionTimer
|
|
|
|
+ {
|
|
|
|
+ public:
|
|
|
|
+ // 开始计时
|
|
|
|
+ void start()
|
|
|
|
+ {
|
|
|
|
+ start_time = std::chrono::high_resolution_clock::now();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 停止计时
|
|
|
|
+ void stop()
|
|
|
|
+ {
|
|
|
|
+ end_time = std::chrono::high_resolution_clock::now();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取经过的时间(以秒为单位)
|
|
|
|
+ double elapsed() const
|
|
|
|
+ {
|
|
|
|
+ return std::chrono::duration<double>(end_time - start_time).count();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取经过的时间(以毫秒为单位)
|
|
|
|
+ double elapsed_milliseconds() const
|
|
|
|
+ {
|
|
|
|
+ return std::chrono::duration<double, std::milli>(end_time - start_time).count();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取经过的时间(以微秒为单位)
|
|
|
|
+ double elapsed_microseconds() const
|
|
|
|
+ {
|
|
|
|
+ return std::chrono::duration<double, std::micro>(end_time - start_time).count();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private:
|
|
|
|
+ std::chrono::high_resolution_clock::time_point start_time;
|
|
|
|
+ std::chrono::high_resolution_clock::time_point end_time;
|
|
|
|
+ };
|
|
|
|
+
|
|
}
|
|
}
|
|
#endif // IMAGE_TEST_H
|
|
#endif // IMAGE_TEST_H
|