add_subdirectory(Interpreter) | add_subdirectory(Interpreter) | ||||
add_subdirectory(IntersectionHandler) | add_subdirectory(IntersectionHandler) | ||||
add_subdirectory(Utils) | add_subdirectory(Utils) | ||||
add_subdirectory(Spielwiese) | |||||
target_include_directories(Input PRIVATE .) | target_include_directories(Input PRIVATE .) | ||||
target_include_directories(Processing PRIVATE .) | target_include_directories(Processing PRIVATE .) |
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) |
#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(); | |||||
} |