@@ -1,12 +1,9 @@ | |||
#include "input.h" | |||
Input::Input(/* args */) : cap(0) | |||
Input::Input(int video_height, int video_width) : cap(0), video_height(video_height), video_width(video_width) | |||
{ | |||
const int VID_HEIGHT = 240; | |||
const int VID_WIDTH = 320; | |||
this->cap.set(CAP_PROP_FRAME_HEIGHT, VID_HEIGHT); | |||
this->cap.set(CAP_PROP_FRAME_WIDTH, VID_WIDTH); | |||
this->cap.set(CAP_PROP_FRAME_HEIGHT, video_height); | |||
this->cap.set(CAP_PROP_FRAME_WIDTH, video_width); | |||
} | |||
Input::~Input() |
@@ -17,7 +17,10 @@ private: | |||
VideoCapture cap; | |||
public: | |||
Input(/* args */); | |||
int video_height; | |||
int video_width; | |||
Input(int video_height, int video_width); | |||
Input() = delete; | |||
~Input(); | |||
Mat readFile(String filePath); | |||
Mat readWebcam(); |
@@ -1,5 +1,4 @@ | |||
#include "lfr.h" | |||
#include <opencv2/core/utils/logger.hpp> | |||
int main(void) | |||
@@ -7,8 +6,13 @@ int main(void) | |||
//Disable opencv logging messages | |||
cv::utils::logging::setLogLevel(cv::utils::logging::LOG_LEVEL_WARNING); | |||
LFR lfr; | |||
const int threshold_binary = 110; | |||
const int video_height = 240; | |||
const int video_width = 320; | |||
LFR lfr(video_height, video_width, threshold_binary); | |||
lfr.startLoop(); | |||
//To end the video stream, write any char in the console. | |||
char a; | |||
std::cin >> a; | |||
lfr.endLoop(); |
@@ -2,8 +2,11 @@ | |||
const int threshold_binary = 110; | |||
LFR::LFR() : iAmLooping(false), input(), processing(), controlModule(), interpreter(), intersectionHandler() | |||
LFR::LFR(int video_height, int video_width, int threshold_binary) | |||
: iAmLooping(false), input(video_height, video_width), processing(), controlModule(), interpreter(), intersectionHandler() | |||
{ | |||
this->iAmLooping = false; | |||
this->threshold_binary = threshold_binary; | |||
} | |||
LFR::~LFR() | |||
@@ -20,7 +23,8 @@ void LFR::loop() | |||
while(iAmLooping) | |||
{ | |||
Mat image = input.readWebcam(); | |||
processing.calculate_binaray(image, threshold_binary); | |||
processing.calculate_binaray(image, this->threshold_binary); | |||
std::vector<LFRLine> lines = processing.calculate_line_segments(image); | |||
imshow("Display window", image); | |||
char c = (char)waitKey(1); | |||
} |
@@ -25,10 +25,12 @@ class LFR | |||
volatile bool iAmLooping; | |||
void loop(); | |||
thread loopThread; | |||
int threshold_binary; | |||
public: | |||
LFR(); | |||
LFR() = delete; | |||
LFR(int video_height, int video_width, int threshold_binary); | |||
~LFR(); | |||
void startLoop(); |