1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef IMAGE_TEST_H
- #define IMAGE_TEST_H
- #include <opencv4/opencv2/opencv.hpp>
- #include <string>
- #include <sys/time.h>
- #include <chrono>
- namespace ImageTest
- {
- void saveImageFromData(unsigned char *data, int width, int height, const std::string &filename = "./output.png");
- 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
|