Lane and Object Detection
Using OpenCV and YOLOv7
Loading...
Searching...
No Matches
FrameBuilder.hpp
1#pragma once
2
3#include <string>
4
5#include <opencv2/core/mat.hpp>
6#include <opencv2/core/types.hpp>
7
8#include "helpers/Globals.hpp"
9#include "helpers/Information.hpp"
10
16{
22 {
23 public:
27 explicit FrameBuilder() = delete;
28
41 static void UpdateFrame(cv::Mat& p_frame,
42 const ObjectDetectionInformation& p_objectDetectionInformation,
43 const LaneDetectionInformation& p_laneDetectionInformation,
44 const PerformanceInformation& p_performanceInformation,
45 const VideoManagerInformation& p_videoManagerInformation);
46
47 private:
56 static void AddObjectDetectorInformation(cv::Mat& p_frame, const ObjectDetectionInformation& p_objectDetectionInformation, const bool& p_debugMode);
57
66 static void AddLaneDetectorInformation(cv::Mat& p_frame, const LaneDetectionInformation& p_laneDetectionInformation, const bool& p_debugMode);
67
75 static void AddPerformanceInformation(cv::Mat& p_frame, const PerformanceInformation& p_performanceInformation, const bool& p_debugMode);
76
84 static void AddVideoManagerInformation(cv::Mat& p_frame, const VideoManagerInformation& p_videoManagerInformation);
85
94 static void AddBackgroundRectAndCentredText(cv::Mat& p_frame, const cv::Rect& p_backgroundRect, const std::string& p_text, const double& p_fontScale = Globals::G_FONT_DEFAULT_SCALE);
95 };
96}
static void AddPerformanceInformation(cv::Mat &p_frame, const PerformanceInformation &p_performanceInformation, const bool &p_debugMode)
Adds performance information to p_frame.
static void AddLaneDetectorInformation(cv::Mat &p_frame, const LaneDetectionInformation &p_laneDetectionInformation, const bool &p_debugMode)
Adds lane detection information to p_frame.
static void AddBackgroundRectAndCentredText(cv::Mat &p_frame, const cv::Rect &p_backgroundRect, const std::string &p_text, const double &p_fontScale=Globals::G_FONT_DEFAULT_SCALE)
Adds p_backgroundRect to p_frame and centers p_text within p_backgroundRect.
static void AddVideoManagerInformation(cv::Mat &p_frame, const VideoManagerInformation &p_videoManagerInformation)
Adds video manager information to p_frame.
FrameBuilder()=delete
Disable constructing a new FrameBuilder object.
static void UpdateFrame(cv::Mat &p_frame, const ObjectDetectionInformation &p_objectDetectionInformation, const LaneDetectionInformation &p_laneDetectionInformation, const PerformanceInformation &p_performanceInformation, const VideoManagerInformation &p_videoManagerInformation)
Updates p_frame with object detection, lane detection, performance and video manager information.
static void AddObjectDetectorInformation(cv::Mat &p_frame, const ObjectDetectionInformation &p_objectDetectionInformation, const bool &p_debugMode)
Adds object detection information to p_frame.
static const double G_FONT_DEFAULT_SCALE
Font settings.
Definition Globals.hpp:138
Contains all Lane-and-Object-Detection objects.
The information needed by FrameBuilder to update frame with lane detection information.
The information needed by FrameBuilder to update frame with object detection information.
The information needed by FrameBuilder to update frame with performance information.
The information needed by FrameBuilder to update frame with video manager information.