|
|
|
|
|
|
|
|
#include "input.h" |
|
|
#include "input.h" |
|
|
|
|
|
|
|
|
// TODO: Wenn ihr in die Zeile den Pfad zum Testvideo statt der 0 packt, benmutzt er das Testvideo. |
|
|
// TODO: Wenn ihr in die Zeile den Pfad zum Testvideo statt der 0 packt, benmutzt er das Testvideo. |
|
|
Input::Input(int videoHeight, int videoWidth) : cap("C:\\Line-Following-Robot\\AutonomousMode\\Test_data\\video1.h264"), videoHeight(videoHeight), videoWidth(videoWidth) |
|
|
|
|
|
|
|
|
Input::Input(int videoHeight, int videoWidth) : cap("C:\\Line-Following-Robot\\AutonomousMode\\Test_data\\video1.h264"), videoHeight(videoHeight), videoWidth(videoWidth)//Input::Input(int videoHeight, int videoWidth) : cap(0), videoHeight(videoHeight), videoWidth(videoWidth) |
|
|
//Input::Input(int videoHeight, int videoWidth) : cap(0), videoHeight(videoHeight), videoWidth(videoWidth) |
|
|
//Input::Input(int videoHeight, int videoWidth) : cap(0), videoHeight(videoHeight), videoWidth(videoWidth) |
|
|
{ |
|
|
{ |
|
|
|
|
|
std::unique_lock<std::mutex> lock(mtx); |
|
|
this->cap.set(CAP_PROP_FRAME_HEIGHT, videoHeight); |
|
|
this->cap.set(CAP_PROP_FRAME_HEIGHT, videoHeight); |
|
|
this->cap.set(CAP_PROP_FRAME_WIDTH, videoWidth); |
|
|
this->cap.set(CAP_PROP_FRAME_WIDTH, videoWidth); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mat Input::readFile(String filePath) |
|
|
Mat Input::readFile(String filePath) |
|
|
{ |
|
|
{ |
|
|
std::srand(std::time(0)); |
|
|
|
|
|
|
|
|
std::unique_lock<std::mutex> lock(mtx); |
|
|
|
|
|
std::srand(static_cast<unsigned int>(std::time(0))); |
|
|
// Read all .jpg files from the specified folder |
|
|
// Read all .jpg files from the specified folder |
|
|
cv::String folder = filePath; |
|
|
cv::String folder = filePath; |
|
|
std::vector<cv::String> filenames; |
|
|
std::vector<cv::String> filenames; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mat Input::readWebcam() |
|
|
Mat Input::readWebcam() |
|
|
{ |
|
|
{ |
|
|
|
|
|
std::unique_lock<std::mutex> lock(mtx); |
|
|
Mat image; |
|
|
Mat image; |
|
|
|
|
|
|
|
|
if(!cap.isOpened()) { |
|
|
if(!cap.isOpened()) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Input::freeWebcam() |
|
|
void Input::freeWebcam() |
|
|
{ |
|
|
{ |
|
|
|
|
|
std::unique_lock<std::mutex> lock(mtx); |
|
|
this->cap.release(); |
|
|
this->cap.release(); |
|
|
} |
|
|
} |