- 创建基本项目结构和目录 - 添加CMake构建系统 - 实现基础的配置解析功能 - 添加YOLO推理框架支持 - 集成RTSP和视频流处理功能 - 添加性能监控和日志系统
53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <iostream>
|
|
#include <memory>
|
|
#include <NvInfer.h>
|
|
|
|
namespace pipeline {
|
|
|
|
class Logger {
|
|
public:
|
|
static void info(const std::string& message) {
|
|
std::cout << "[INFO] " << message << std::endl;
|
|
}
|
|
|
|
static void warning(const std::string& message) {
|
|
std::cout << "[WARNING] " << message << std::endl;
|
|
}
|
|
|
|
static void error(const std::string& message) {
|
|
std::cerr << "[ERROR] " << message << std::endl;
|
|
}
|
|
};
|
|
|
|
namespace detail {
|
|
class Logger : public nvinfer1::ILogger {
|
|
public:
|
|
void log(Severity severity, const char* msg) noexcept override {
|
|
switch (severity) {
|
|
case Severity::kINTERNAL_ERROR:
|
|
std::cerr << "[F] " << msg << std::endl;
|
|
break;
|
|
case Severity::kERROR:
|
|
std::cerr << "[E] " << msg << std::endl;
|
|
break;
|
|
case Severity::kWARNING:
|
|
std::cout << "[W] " << msg << std::endl;
|
|
break;
|
|
case Severity::kINFO:
|
|
std::cout << "[I] " << msg << std::endl;
|
|
break;
|
|
case Severity::kVERBOSE:
|
|
std::cout << "[V] " << msg << std::endl;
|
|
break;
|
|
default:
|
|
std::cout << "[?] " << msg << std::endl;
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
} // namespace detail
|
|
|
|
} // namespace pipeline
|