diff --git a/src/CMakeLists.txt b/CMakeLists.txt similarity index 79% rename from src/CMakeLists.txt rename to CMakeLists.txt index 5620b5d..de4714a 100644 --- a/src/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6.0) +cmake_minimum_required(VERSION 3.15) project(LogView) @@ -14,11 +14,11 @@ add_definitions(-Wall) set(CMAKE_CXX_FLAGS "-g -O3 -msse2 -msse3") -FILE(GLOB srcs *.cpp) -source_group("Source Files" FILES ${srcs} ) - add_executable(LogView - ${srcs} + "src/LogView.cpp" + "src/RawLogReader.cpp" + "src/RawLogReader.h" + "src/Resolution.h" ) target_link_libraries(LogView diff --git a/README.md b/README.md index 81f8244..3c9df52 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,15 @@ LogView Small program to view the .klg format. -Requires CMake, Boost, ZLIB and OpenCV. +Requires CMake, Boost, ZLIB and OpenCV. + +```sh +cmake -G Ninja -B build +cmake --build build +``` Run like; +```sh ./LogView -l ~/Kinect_Logs/livingRoom2.klg -f -w 640 -h 480 +``` diff --git a/src/LogView.cpp b/src/LogView.cpp index 33e63f0..f750449 100644 --- a/src/LogView.cpp +++ b/src/LogView.cpp @@ -1,6 +1,7 @@ #include "Resolution.h" #include "RawLogReader.h" #include +#include int find_argument(int argc, char** argv, const char* argument_name) { @@ -76,12 +77,14 @@ int main(int argc, char * argv[]) char key = cv::waitKey(1); - if(key == 'q') + if(key == 'q') { break; - else if(key == ' ') + } else if(key == ' ') { key = cv::waitKey(0); - if(key == 'q') + if(key == 'q') { break; + } + } } delete [] decompressionBuffer; diff --git a/src/RawLogReader.cpp b/src/RawLogReader.cpp index 7c6615d..84a380b 100644 --- a/src/RawLogReader.cpp +++ b/src/RawLogReader.cpp @@ -6,6 +6,7 @@ */ #include "RawLogReader.h" +#include RawLogReader::RawLogReader(Bytef *& decompressionBuffer, IplImage *& deCompImage, @@ -56,7 +57,7 @@ void RawLogReader::getNext() cvReleaseImage(&deCompImage); } - CvMat tempMat = cvMat(1, imageSize, CV_8UC1, (void *)imageReadBuffer); + cv::Mat tempMat = cv::Mat(1, imageSize, CV_8UC1, (void *)imageReadBuffer); if(imageSize == Resolution::getInstance().numPixels() * 3) { @@ -70,7 +71,9 @@ void RawLogReader::getNext() { isCompressed = true; - deCompImage = cvDecodeImage(&tempMat); + deCompImage2 = cv::imdecode(tempMat, cv::IMREAD_UNCHANGED); + deCompImage = cvCreateImage(cvSize(Resolution::getInstance().width(), Resolution::getInstance().height()), IPL_DEPTH_8U, 3); + memcpy(deCompImage->imageData, deCompImage2.data, deCompImage->imageSize); } else { diff --git a/src/RawLogReader.h b/src/RawLogReader.h index 37175e9..0f5a3ff 100644 --- a/src/RawLogReader.h +++ b/src/RawLogReader.h @@ -12,6 +12,8 @@ #include "Resolution.h" #include #include +#include +#include #include #include #include @@ -34,6 +36,7 @@ class RawLogReader Bytef *& decompressionBuffer; IplImage *& deCompImage; + cv::Mat deCompImage2; unsigned char * depthReadBuffer; unsigned char * imageReadBuffer; int64_t timestamp;