From c857543f75ca8f04cae4bcd7fc970878719d71e3 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Fri, 12 Apr 2019 09:53:49 +0300 Subject: [PATCH] Add missing refactor of vision --- vision/CMakeLists.txt | 4 ++-- vision/src/main.cpp | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/vision/CMakeLists.txt b/vision/CMakeLists.txt index b07dcc8b2..47a39a6e4 100644 --- a/vision/CMakeLists.txt +++ b/vision/CMakeLists.txt @@ -10,7 +10,6 @@ set(CVNODESRC src/calibrate.cpp src/local.cpp src/sync.cpp - src/display.cpp src/disparity.cpp src/streamer.cpp src/middlebury.cpp @@ -40,6 +39,7 @@ endif (CUDA_FOUND) add_executable(ftl-vision ${CVNODESRC}) add_dependencies(ftl-vision ftlnet) +add_dependencies(ftl-vision ftlrender) add_dependencies(ftl-vision libelas) if (CUDA_FOUND) @@ -47,6 +47,6 @@ set_property(TARGET ftl-vision PROPERTY CUDA_SEPARABLE_COMPILATION ON) endif() #target_include_directories(cv-node PUBLIC ${PROJECT_SOURCE_DIR}/include) -target_link_libraries(ftl-vision Threads::Threads ZLIB::ZLIB libelas ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} glog::glog ftlnet) +target_link_libraries(ftl-vision ftlrender Threads::Threads ZLIB::ZLIB libelas ${OpenCV_LIBS} ${LIBSGM_LIBRARIES} ${CUDA_LIBRARIES} glog::glog ftlnet) diff --git a/vision/src/main.cpp b/vision/src/main.cpp index 16e1bc6ae..1b0c709c0 100644 --- a/vision/src/main.cpp +++ b/vision/src/main.cpp @@ -140,12 +140,12 @@ static void run(const string &file) { if (config["calibrate"]) calibrate.recalibrate(); if (!calibrate.isCalibrated()) LOG(WARNING) << "Cameras are not calibrated!"; + cv::Mat Q_32F; + calibrate.getQ().convertTo(Q_32F, CV_32F); + // Allow remote users to access camera calibration matrix - net.bind(string("ftl://utu.fi/")+(string)config["stream"]["name"]+string("/rgb-d/calibration"), [&calibrate]() -> vector<unsigned char> { + net.bind(string("ftl://utu.fi/")+(string)config["stream"]["name"]+string("/rgb-d/calibration"), [&calibrate,Q_32F]() -> vector<unsigned char> { vector<unsigned char> buf; - cv::Mat Q_32F; - calibrate.getQ().convertTo(Q_32F, CV_32F); - buf.resize(Q_32F.step*Q_32F.rows); memcpy(Q_32F.data, buf.data(), buf.size()); return buf; @@ -157,7 +157,9 @@ static void run(const string &file) { Mat l, r, disp; - Display display(calibrate, config["display"]); + Display display(config["display"]); + display.setCalibration(Q_32F); + Streamer stream(net, config["stream"]); while (display.active()) { @@ -179,6 +181,7 @@ static void run(const string &file) { display.render(l, disp); stream.send(l, disp); + display.wait(1); } } -- GitLab