From d51e0b6dde753461f6be454bb73b5396eaa70bfa Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sat, 19 May 2018 23:01:37 +0800 Subject: [PATCH 1/8] Windows support --- CMakeLists.txt | 66 ++++++++++++++++++++++++++++----------------- src/CMakeLists.txt | 39 ++++++++++++++------------- src/MathUtil.cpp | 13 ++++----- src/Profiler.h | 21 ++++++++++----- src/TagDetector.cpp | 16 +++++------ 5 files changed, 92 insertions(+), 63 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f38836b..89b6a04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,51 +1,69 @@ # swatbotics/apriltags-cpp/CMakeLists.txt -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.5.1) project(APRILTAGS) +set(CMAKE_CXX_STANDARD 11) # for std::chrono set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) + +if(WIN32) + set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build) +else() + set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) +endif() if(APPLE) - include_directories(/opt/local/include) # MacPorts - link_directories(/opt/local/lib) - find_library(OPENGL_LIBRARY OpenGL) + include_directories(/opt/local/include) # MacPorts + link_directories(/opt/local/lib) + find_library(OPENGL_LIBRARY OpenGL) else() - find_library(OPENGL_LIBRARY GL) - find_library(GLU_LIBRARY GLU) - set(OPENGL_LIBRARY ${OPENGL_LIBRARY} ${GLU_LIBRARY}) + find_library(OPENGL_LIBRARY GL) + find_library(GLU_LIBRARY GLU) + set(OPENGL_LIBRARY ${OPENGL_LIBRARY} ${GLU_LIBRARY}) endif() find_library(GLUT_LIBRARY glut) include(FindPkgConfig) -pkg_search_module(OPENCV REQUIRED opencv>=2.3 opencv-2.3.1) -include_directories(${OPENCV_INCLUDE_DIRS}) - -pkg_check_modules(CAIRO cairo) - -if (${CAIRO_FOUND}) -add_definitions(-DMZ_HAVE_CAIRO) -endif () +if(UNIX) + pkg_search_module(OPENCV REQUIRED opencv>=3.4) + include_directories(${OPENCV_INCLUDE_DIRS}) + + pkg_check_modules(CAIRO cairo) + if(${CAIRO_FOUND}) + add_definitions(-DMZ_HAVE_CAIRO) + endif() +else() + find_package(OpenCV REQUIRED) + if(${OpenCV_FOUND}) + if( ${OpenCV_VERSION}} VERSION_GREATER "3.4") + include_directories(${OpenCV_INCLUDE_DIRS}) + else() + message(FATAL_ERROR "OpenCV found but version too old. current version: " ${OpenCV_FIND_VERSION} ". required: 3.4 or newer.") + endif() + else() + message(FATAL_ERROR "OpenCV not found!") + endif() +endif() find_package( CGAL QUIET COMPONENTS ) -if (CGAL_FOUND) - include( ${CGAL_USE_FILE} ) - add_definitions(-DHAVE_CGAL) - find_package( Boost REQUIRED ) +if (${CGAL_FOUND}) + include( ${CGAL_USE_FILE} ) + add_definitions(-DHAVE_CGAL) + find_package( Boost REQUIRED ) else() - message("CGAL not found, can not use new quad detector") + message("CGAL not found, can not use new quad detector") endif() set(CMAKE_C_FLAGS "-Wall -g") set(CMAKE_CXX_FLAGS "-Wall -g") -if (APPLE OR UNIX) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-compare -frounding-math") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-compare -frounding-math") +if(UNIX) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-compare -frounding-math") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-compare -frounding-math") endif() set(CMAKE_C_FLAGS_DEBUG "-O") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 81e506e..a100c0a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,29 +11,30 @@ add_library(apriltags UnionFindSimple.cpp ) -set(AT_LIBS apriltags ${OPENCV_LDFLAGS}) - -target_link_libraries(apriltags ${AT_LIBS}) - -add_executable(camtest camtest.cpp) -target_link_libraries(camtest ${AT_LIBS}) +target_link_libraries(apriltags ${OPENCV_LDFLAGS}) -add_executable(tagtest tagtest.cpp) -target_link_libraries(tagtest ${AT_LIBS}) +set_target_properties(apriltags PROPERTIES PREFIX "lib") +set_target_properties(apriltags PROPERTIES DEBUG_POSTFIX "d") -add_executable(quadtest quadtest.cpp) -target_link_libraries(quadtest ${AT_LIBS}) - -if (GLUT_LIBRARY) +set(AT_LIBS apriltags ${OPENCV_LDFLAGS}) - add_executable(gltest gltest.cpp) - target_link_libraries(gltest ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${AT_LIBS}) +if(NOT WIN32) + add_executable(camtest camtest.cpp) + target_link_libraries(camtest ${AT_LIBS}) -endif() + add_executable(tagtest tagtest.cpp) + target_link_libraries(tagtest ${AT_LIBS}) -if (CAIRO_FOUND) + add_executable(quadtest quadtest.cpp) + target_link_libraries(quadtest ${AT_LIBS}) - add_executable(maketags maketags.cpp) - target_link_libraries(maketags ${CAIRO_LIBRARIES} ${AT_LIBS} ${CAIRO_LIBS}) + if(GLUT_LIBRARY) + add_executable(gltest gltest.cpp) + target_link_libraries(gltest ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${AT_LIBS}) + endif() -endif() + if(CAIRO_FOUND) + add_executable(maketags maketags.cpp) + target_link_libraries(maketags ${CAIRO_LIBRARIES} ${AT_LIBS} ${CAIRO_LIBS}) + endif() +endif() \ No newline at end of file diff --git a/src/MathUtil.cpp b/src/MathUtil.cpp index 0659615..1899653 100644 --- a/src/MathUtil.cpp +++ b/src/MathUtil.cpp @@ -8,10 +8,11 @@ #include "MathUtil.h" #include +#include const at::real MathUtil::epsilon = AT_EPSILON; -const at::real MathUtil::twopi_inv = 0.5/M_PI; -const at::real MathUtil::twopi = 2.0*M_PI; +const at::real MathUtil::twopi_inv = 0.5/CV_PI; +const at::real MathUtil::twopi = 2.0*CV_PI; at::real MathUtil::fabs(at::real f) { return std::fabs(f); @@ -160,12 +161,12 @@ at::real MathUtil::atan2(at::real y, at::real x) { if (x>=0) { return atn; } - return M_PI+atn; + return CV_PI +atn; } if (x>=0) { return atn; } - return -at::real(M_PI)+atn; + return -at::real(CV_PI)+atn; } @@ -178,9 +179,9 @@ at::real MathUtil::atan(at::real x) { return atan_mag1(x); } if (x < 0) { - return -M_PI/2-atan_mag1(1/x); + return -CV_PI/2-atan_mag1(1/x); } else { - return M_PI/2-atan_mag1(1/x); + return CV_PI/2-atan_mag1(1/x); } } diff --git a/src/Profiler.h b/src/Profiler.h index daeb98a..e5cdc36 100644 --- a/src/Profiler.h +++ b/src/Profiler.h @@ -10,7 +10,8 @@ #define _PROFILER_H_ #include -#include +#include + // Lightweight classes/structs used for profiling AprilTags. @@ -59,7 +60,14 @@ typedef std::map TimingLookup; // Class for profiling. You may need to replace getTimeAsDouble on // platforms where gettimeofday is not available. +typedef std::chrono::high_resolution_clock Time; +typedef std::chrono::seconds Sec; + class Profiler { + +private: + std::chrono::time_point init; + public: TimingLookup timers; @@ -69,14 +77,16 @@ class Profiler { Profiler(): num_iterations(0), num_detections(0) {} - static double getTimeAsDouble() { - struct timeval tp; - gettimeofday(&tp, 0); - return double(tp.tv_sec) + double(tp.tv_usec) * 1e-6; + + double getTimeAsDouble() { + auto now = std::chrono::time_point_cast(Time::now()); + return (now - init).count(); } void start(int step, int substep, const char* desc) { + init = std::chrono::time_point_cast(Time::now()); + std::pair info = timers.insert(std::make_pair(AlgorithmStep(step, substep), TimingInfo())); @@ -84,7 +94,6 @@ class Profiler { i->second.start = getTimeAsDouble(); i->second.desc = desc; - } void end(int step, int substep) { diff --git a/src/TagDetector.cpp b/src/TagDetector.cpp index 4e1f4bc..0e1e39a 100644 --- a/src/TagDetector.cpp +++ b/src/TagDetector.cpp @@ -20,7 +20,7 @@ #include #include - +#include #ifdef HAVE_CGAL #include #include @@ -44,7 +44,7 @@ static const at::real kDefaultSigma = 0; static const at::real kDefaultSegSigma = 0.8; static const bool kDefaultSegDecimate = false; static const at::real kDefaultMinMag = 0.004; -static const at::real kDefaultMaxEdgeCost = 30*M_PI/180; +static const at::real kDefaultMaxEdgeCost = 30*CV_PI/180; static const at::real kDefaultThetaThresh = 100; static const at::real kDefaultMagThresh = 1200; static const at::real kDefaultMinimumLineLength = 4; @@ -247,7 +247,7 @@ TagDetector::TagDetector(const TagFamily& f, at::real TagDetector::arctan2(at::real y, at::real x) { - at::real coeff_1 = at::real(M_PI/4); + at::real coeff_1 = at::real(CV_PI/4); at::real coeff_2 = 3*coeff_1; at::real abs_y = fabs(y)+MathUtil::epsilon; // kludge to prevent 0/0 condition @@ -1091,9 +1091,9 @@ void TagDetector::getQuads_AT(const Images& images, at::real tminab = std::min(tmina, tminb + bshift); at::real tmaxab = std::max(tmaxa, tmaxb + bshift); - if (tmaxab - tminab > 2*M_PI) { + if (tmaxab - tminab > 2*CV_PI) { // corner case that's probably not useful to handle correctly. oh well. - tmaxab = tminab + 2*M_PI; + tmaxab = tminab + 2*CV_PI; } at::real mmaxab = std::max(mmax[ida], mmax[idb]); @@ -1244,7 +1244,7 @@ void TagDetector::getQuads_AT(const Images& images, } if (flip > noflip) { - seg->theta += M_PI; + seg->theta += CV_PI; } at::real dot = dx*cos(seg->theta) + dy*sin(seg->theta); @@ -2006,8 +2006,8 @@ bool TagDetector::decodeQuad(const Images& images, d.hxy = quad.opticalCenter; if (true) { - at::real c = cos(d.rotation*M_PI/2.0); - at::real s = sin(d.rotation*M_PI/2.0); + at::real c = cos(d.rotation*CV_PI/2.0); + at::real s = sin(d.rotation*CV_PI/2.0); at::real R[9] = { c, -s, 0, s, c, 0, From 6ab07d3fc3cac1fa8d56d7b7623de66dec86e8a5 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sun, 20 May 2018 15:19:16 +0800 Subject: [PATCH 2/8] Fixed the profiler, now returning correct microsecond timings --- src/Profiler.h | 10 +++++----- src/TagDetector.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Profiler.h b/src/Profiler.h index e5cdc36..af5df4b 100644 --- a/src/Profiler.h +++ b/src/Profiler.h @@ -11,7 +11,7 @@ #include #include - +#include // Lightweight classes/structs used for profiling AprilTags. @@ -61,12 +61,12 @@ typedef std::map TimingLookup; // platforms where gettimeofday is not available. typedef std::chrono::high_resolution_clock Time; -typedef std::chrono::seconds Sec; +typedef std::chrono::microseconds Ms; class Profiler { private: - std::chrono::time_point init; + std::chrono::time_point init; public: @@ -79,13 +79,13 @@ class Profiler { double getTimeAsDouble() { - auto now = std::chrono::time_point_cast(Time::now()); + auto now = std::chrono::time_point_cast(Time::now()); return (now - init).count(); } void start(int step, int substep, const char* desc) { - init = std::chrono::time_point_cast(Time::now()); + init = std::chrono::time_point_cast(Time::now()); std::pair info = timers.insert(std::make_pair(AlgorithmStep(step, substep), TimingInfo())); diff --git a/src/TagDetector.cpp b/src/TagDetector.cpp index 0e1e39a..147ce41 100644 --- a/src/TagDetector.cpp +++ b/src/TagDetector.cpp @@ -65,7 +65,7 @@ void TagDetector::reportTimers() { std::cout << "report averaged over " << prof.num_iterations << " frames with " << prof.num_detections << " detections (" << (double(prof.num_detections)/prof.num_iterations) << " per frame)\n\n"; for (TimingLookup::const_iterator i=prof.timers.begin(); i!=prof.timers.end(); ++i) { - int usec = 1e6 * i->second.run / prof.num_iterations; + int usec = i->second.run / prof.num_iterations; std::cout << std::setw(12) << usec << " usec"; if (i->first.step) { std::cout << " "; } if (i->first.substep) { std::cout << " "; } From 4f2d9db280fae3e5e9bcd62a92dc22a3a276cf12 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sun, 20 May 2018 15:33:46 +0800 Subject: [PATCH 3/8] Removed unnessecary comment --- src/Profiler.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Profiler.h b/src/Profiler.h index af5df4b..dba3a56 100644 --- a/src/Profiler.h +++ b/src/Profiler.h @@ -57,8 +57,7 @@ struct TimingInfo { typedef std::map TimingLookup; ////////////////////////////////////////////////////////////////////// -// Class for profiling. You may need to replace getTimeAsDouble on -// platforms where gettimeofday is not available. +// Class for profiling typedef std::chrono::high_resolution_clock Time; typedef std::chrono::microseconds Ms; From ed2bd04f628bded0bc9b5eb3d2078f774b36d771 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sun, 20 May 2018 15:38:42 +0800 Subject: [PATCH 4/8] Added example PDF of tags --- images/Tags36h11.pdf | Bin 0 -> 379903 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/Tags36h11.pdf diff --git a/images/Tags36h11.pdf b/images/Tags36h11.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8fe7cfe8ce25188b7253fe13134f5569b713b225 GIT binary patch literal 379903 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 z Date: Sun, 20 May 2018 16:06:43 +0800 Subject: [PATCH 5/8] Removed unnessecary include --- src/Profiler.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Profiler.h b/src/Profiler.h index dba3a56..5aa9f38 100644 --- a/src/Profiler.h +++ b/src/Profiler.h @@ -11,7 +11,6 @@ #include #include -#include // Lightweight classes/structs used for profiling AprilTags. From d83e258ae4c97949d70f34fd328ff8c7f499a853 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sun, 20 May 2018 22:13:18 +0800 Subject: [PATCH 6/8] Removed global typdef, fixed issue with boost linking with CGAL (header-only now only required) --- CMakeLists.txt | 7 +++++++ src/Profiler.h | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89b6a04..c22a11b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,8 @@ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) if(WIN32) set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${LIBRARY_OUTPUT_PATH}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${LIBRARY_OUTPUT_PATH}) else() set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) endif() @@ -54,6 +56,11 @@ if (${CGAL_FOUND}) include( ${CGAL_USE_FILE} ) add_definitions(-DHAVE_CGAL) find_package( Boost REQUIRED ) + + if(MSVC) + add_definitions("/EHsc") # To work with boost header only + # otherwise may give linking error + endif(MSVC) else() message("CGAL not found, can not use new quad detector") endif() diff --git a/src/Profiler.h b/src/Profiler.h index 5aa9f38..ee6ccc2 100644 --- a/src/Profiler.h +++ b/src/Profiler.h @@ -58,10 +58,11 @@ typedef std::map TimingLookup; ////////////////////////////////////////////////////////////////////// // Class for profiling -typedef std::chrono::high_resolution_clock Time; -typedef std::chrono::microseconds Ms; + class Profiler { + typedef std::chrono::high_resolution_clock Time; + typedef std::chrono::microseconds Ms; private: std::chrono::time_point init; From 4443321714dfd11b18acc501801c884c20c391b2 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Tue, 22 May 2018 01:26:32 +0800 Subject: [PATCH 7/8] Multiple configurations now working with Visual Studio --- CMakeLists.txt | 19 +++++++++---------- src/CMakeLists.txt | 5 +++++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c22a11b..7e572e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,19 +65,18 @@ else() message("CGAL not found, can not use new quad detector") endif() -set(CMAKE_C_FLAGS "-Wall -g") -set(CMAKE_CXX_FLAGS "-Wall -g") - if(UNIX) + set(CMAKE_C_FLAGS "-Wall -g") + set(CMAKE_CXX_FLAGS "-Wall -g") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-compare -frounding-math") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsign-compare -frounding-math") -endif() - -set(CMAKE_C_FLAGS_DEBUG "-O") -set(CMAKE_CXX_FLAGS_DEBUG "-O") + + set(CMAKE_C_FLAGS_DEBUG "-O") + set(CMAKE_CXX_FLAGS_DEBUG "-O") -set(CMAKE_C_FLAGS_RELEASE "-O2") -set(CMAKE_CXX_FLAGS_RELEASE "-O2") + set(CMAKE_C_FLAGS_RELEASE "-O2") + set(CMAKE_CXX_FLAGS_RELEASE "-O2") +endif() add_subdirectory(src) - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a100c0a..f81578b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -16,6 +16,11 @@ target_link_libraries(apriltags ${OPENCV_LDFLAGS}) set_target_properties(apriltags PROPERTIES PREFIX "lib") set_target_properties(apriltags PROPERTIES DEBUG_POSTFIX "d") +if(WIN32) + target_compile_options(apriltags PRIVATE "$<$:-O>") + target_compile_options(apriltags PRIVATE "$<$:-O2>") +endif() + set(AT_LIBS apriltags ${OPENCV_LDFLAGS}) if(NOT WIN32) From 4ac5c9bd92d24b47875e4a7be85b23d096c2d1d0 Mon Sep 17 00:00:00 2001 From: Ruud Peters Date: Sat, 1 Sep 2018 14:18:58 +0200 Subject: [PATCH 8/8] issue #2: included imgcodecs.hpp in TagDetector --- src/TagDetector.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TagDetector.cpp b/src/TagDetector.cpp index 147ce41..13124ff 100644 --- a/src/TagDetector.cpp +++ b/src/TagDetector.cpp @@ -19,6 +19,7 @@ #include "DebugImage.h" #include +#include #include #include #ifdef HAVE_CGAL