rtsp_tensorrt/pipeline/render/frame_drawer.cpp
sladro e13cb3659c feat: 初始化项目结构
- 创建基本项目结构和目录
- 添加CMake构建系统
- 实现基础的配置解析功能
- 添加YOLO推理框架支持
- 集成RTSP和视频流处理功能
- 添加性能监控和日志系统
2024-12-24 16:25:03 +08:00

47 lines
1.2 KiB
C++

#include "frame_drawer.hpp"
#include "../common/logger.hpp"
namespace pipeline {
bool FrameDrawer::init(const renderer::RendererConfig& config) {
if (initialized_) {
Logger::warning("FrameDrawer already initialized");
return true;
}
renderer_ = std::make_unique<Renderer>();
if (!renderer_->init(config)) {
Logger::error("Failed to initialize renderer");
return false;
}
initialized_ = true;
Logger::info("FrameDrawer initialized successfully");
return true;
}
bool FrameDrawer::processFrame(const cv::Mat& frame,
const std::vector<renderer::DetectionResult>& results,
const PerformanceMetrics& metrics) {
if (!initialized_) {
Logger::error("FrameDrawer not initialized");
return false;
}
if (frame.empty()) {
Logger::error("Input frame is empty");
return false;
}
return renderer_->render(frame, results, metrics);
}
void FrameDrawer::cleanup() {
if (initialized_) {
renderer_->cleanup();
initialized_ = false;
}
}
} // namespace pipeline