@@ -1,6 +1,5 @@ | |||
#include "input.h" | |||
Input::Input(/* args */) | |||
{ | |||
} | |||
@@ -11,15 +10,24 @@ Input::~Input() | |||
Mat Input::readFile(String filePath) | |||
{ | |||
Mat image = imread(filePath, IMREAD_COLOR); | |||
std::srand(std::time(0)); | |||
// Read all .jpg files from the specified folder | |||
std::string folder = filePath; | |||
std::vector<std::string> filenames; | |||
cv::glob(folder, filenames); | |||
// Random shuffle | |||
std::random_shuffle(filenames.begin(), filenames.end()); | |||
Mat image = imread(filenames[0], IMREAD_COLOR); | |||
if(image.empty()) | |||
{ | |||
std::cout << "Could not read the image: " << filePath << std::endl; | |||
return Mat(); | |||
//To do:Exception handeling | |||
} | |||
imshow("Display window", image); | |||
waitKey(0); | |||
return image; | |||
} | |||
@@ -39,8 +47,6 @@ Mat Input::readWebcam() | |||
} | |||
cap.read(image); | |||
imshow("Display window", image); | |||
waitKey(0); | |||
return image; | |||
} |
@@ -1,4 +1,7 @@ | |||
#include <iostream> | |||
#include <vector> | |||
#include <string> | |||
#include <algorithm> | |||
#include <opencv2/opencv.hpp> | |||
using namespace std; |
@@ -8,8 +8,10 @@ Processing::~Processing() | |||
{ | |||
} | |||
Mat Processing::calculate_binaray(const Mat& inputPicture) | |||
Mat Processing::calculate_binaray(Mat& inputPicture, int thresholdValue) | |||
{ | |||
//cvtColor(inputPicture, inputPicture, COLOR_RGB2GRAY); | |||
return Mat(); | |||
//Mat &outputPicture; | |||
cvtColor(inputPicture, inputPicture, COLOR_BGR2GRAY); | |||
threshold(inputPicture, inputPicture, thresholdValue, 255, THRESH_BINARY); | |||
return inputPicture; | |||
} |
@@ -16,5 +16,5 @@ public: | |||
// End und Anfangspunkt analysieren und Winkel und Ausrichtung der Linie extrahieren (Abstand des untersten Punktes von der Mitte) | |||
~Processing(); | |||
Mat calculate_binaray(const Mat& inputPicture); | |||
Mat calculate_binaray(Mat& inputPicture, int thresholdValue); | |||
}; |
@@ -5,10 +5,18 @@ | |||
using namespace cv; | |||
const int threshold_binary = 110; | |||
int main(void) | |||
{ | |||
std::cout<<"Hello world"; | |||
Input test; | |||
// Mat image1 = test.readFile("C:\\Line-Following-Robot\\Test_data\\WhatsApp Image 2022-10-26 at 09.54.14.jpeg"); | |||
Mat image2 = test.readWebcam(); | |||
Processing test1; | |||
Mat image1 = test.readFile("C:\\Line-Following-Robot\\Test_data\\*.jpeg"); | |||
//Mat image2 = test.readWebcam(); | |||
test1.calculate_binaray(image1, threshold_binary); | |||
imshow("Display window", image1); | |||
waitKey(0); | |||
} |