@@ -32,6 +32,7 @@ add_subdirectory(ControlModule) | |||
add_subdirectory(Interpreter) | |||
add_subdirectory(IntersectionHandler) | |||
add_subdirectory(Utils) | |||
add_subdirectory(Spielwiese) | |||
target_include_directories(Input PRIVATE .) | |||
target_include_directories(Processing PRIVATE .) |
@@ -0,0 +1,37 @@ | |||
set(THREADS_PREFER_PTHREAD_FLAG ON) | |||
find_package( OpenCV REQUIRED ) | |||
find_package(Threads REQUIRED) | |||
include_directories( ${OpenCV_INCLUDE_DIRS} | |||
${Input_SOURCE_DIRS} | |||
${Processing_SOURCE_DIRS} | |||
${ControlModule_SOURCE_DIRS} | |||
${Interpreter_SOURCE_DIRS} | |||
${IntersectionHandler_SOURCE_DIRS} | |||
${Utils_SOURCE_DIRS} | |||
) | |||
link_directories( ${Input_SOURCE_DIRS} | |||
${Processing_SOURCE_DIRS} | |||
${ControlModule_SOURCE_DIRS} | |||
${Interpreter_SOURCE_DIRS} | |||
${IntersectionHandler_SOURCE_DIRS} | |||
${Utils_SOURCE_DIRS} | |||
) | |||
target_include_directories(Input PRIVATE .) | |||
target_include_directories(Processing PRIVATE .) | |||
target_include_directories(ControlModule PRIVATE .) | |||
target_include_directories(Interpreter PRIVATE .) | |||
target_include_directories(IntersectionHandler PRIVATE .) | |||
target_include_directories(Utils PRIVATE .) | |||
add_executable(spielwiese spielwiese.cpp) | |||
target_link_libraries( spielwiese ${OpenCV_LIBS} Input Processing ControlModule Interpreter IntersectionHandler Utils Threads::Threads) | |||
set(CPACK_PROJECT_NAME ${PROJECT_NAME}) | |||
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) | |||
include(CPack) |
@@ -0,0 +1,44 @@ | |||
#include <opencv2/core/utils/logger.hpp> | |||
#include <opencv2/opencv.hpp> | |||
#include <iostream> | |||
#include <input.h> | |||
#include <processing.h> | |||
#include <control_module.h> | |||
#include <interpreter.h> | |||
#include <intersection_handler.h> | |||
int main(void) | |||
{ | |||
//Disable opencv logging messages | |||
cv::utils::logging::setLogLevel(cv::utils::logging::LOG_LEVEL_WARNING); | |||
const int thresholdBinary = 140; | |||
const int videoHeight = 240; | |||
const int videoWidth = 320; | |||
const int gaussKernelSize = 21; | |||
Input input(videoHeight, videoWidth); | |||
Processing processing; | |||
namedWindow("Display window"); | |||
while(true) | |||
{ | |||
Mat image = input.readFile("Der//Pfad//zum//Input//Bilder//Ordner//auf//deinem//System"); | |||
Mat processedImage = image; | |||
processing.processImage(processedImage, thresholdBinary, gaussKernelSize); | |||
std::vector<Vec4i> lines = processing.calculateLineSegments(processedImage); | |||
for( size_t i = 0; i < lines.size(); i++ ) | |||
{ | |||
line( image, Point(lines[i][0], lines[i][1]), | |||
Point( lines[i][2], lines[i][3]), (0,0,255), 1, 8 ); | |||
} | |||
imshow("Display window", image); | |||
char c = (char)waitKey(1); | |||
} | |||
destroyWindow("Display window"); | |||
input.freeWebcam(); | |||
} |