48 lines
907 B
C++
48 lines
907 B
C++
#pragma once
|
|
|
|
#include <iostream>
|
|
#include <future>
|
|
#include <thread>
|
|
|
|
#include <opencv2/opencv.hpp>
|
|
|
|
#include <input.h>
|
|
#include <processing.h>
|
|
#include <control_module.h>
|
|
#include <interpreter.h>
|
|
#include <intersection_handler.h>
|
|
|
|
|
|
using namespace cv;
|
|
|
|
class LFR
|
|
{
|
|
Input input;
|
|
Processing processing;
|
|
ControlModule controlModule;
|
|
Interpreter interpreter;
|
|
IntersectionHandler intersectionHandler;
|
|
volatile bool iAmLooping;
|
|
void loop();
|
|
thread loopThread;
|
|
int thresholdBinary;
|
|
int gaussKernelSize;
|
|
|
|
void provideOutput(Mat originalImage, Mat processedImage, const FrameData& frameData, const Rect& roi);
|
|
|
|
public:
|
|
|
|
LFR() = delete;
|
|
LFR(int videoHeight, int videoWidth, int thresholdBinary, int gaussKernelSize);
|
|
~LFR();
|
|
|
|
void startLoop();
|
|
void endLoop();
|
|
|
|
|
|
bool videoFlag;
|
|
bool saveOutputFlag;
|
|
|
|
std::string outputFileName;
|
|
|
|
}; |