summarylogtreecommitdiffstats
path: root/apriltag-trackers.patch
blob: c43801e3d10215e11b769b91cac9fcabb46d6b8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
diff --git a/AprilTagTrackers/CMakeLists.txt b/AprilTagTrackers/CMakeLists.txt
index 0b56197..da15ab0 100644
--- a/AprilTagTrackers/CMakeLists.txt
+++ b/AprilTagTrackers/CMakeLists.txt
@@ -11,10 +11,13 @@ include("${SUPERPROJECT_SOURCE_DIR}/CMake/shared.cmake")
 AprilTagTrackers_options()
 
 # Find our dependencies
-att_find_dep(OpenCV REQUIRED)
-att_find_dep(apriltag REQUIRED)
-att_find_dep(openvr REQUIRED)
-att_find_dep(wxWidgets REQUIRED core base)
+find_package(OpenCV REQUIRED)
+find_library(APRILTAG_LIB apriltag REQUIRED)
+find_library(OPENVR_LIB openvr_api REQUIRED)
+find_package(wxWidgets COMPONENTS core base REQUIRED)
+include(${wxWidgets_USE_FILE})
+
+include_directories("/usr/include/openvr/")
 
 # Explicitly list source files as recommended by cmake
 set(ATT_SOURCE_FILES
@@ -61,7 +64,7 @@ endif()
 
 # Link libraries defined as targets, includes are automatic
 target_link_libraries(AprilTagTrackers PUBLIC
-    ${OpenCV_LIBS} wx::wx openvr::openvr apriltag::apriltag
+    ${OpenCV_LIBS} ${wxWidgets_LIBRARIES} ${OPENVR_LIB} ${APRILTAG_LIB}
     common::semver)
 
 # Ensure compiler with c++17 language features
diff --git a/AprilTagTrackers/Serializable.h b/AprilTagTrackers/Serializable.h
index 6e143ed..98d80e9 100644
--- a/AprilTagTrackers/Serializable.h
+++ b/AprilTagTrackers/Serializable.h
@@ -192,7 +192,7 @@ inline void ReadNode(const cv::FileNode&, const char*, const Comment&)
 void WriteNode(cv::FileStorage& fs, const char*, const cv::Ptr<cv::aruco::DetectorParameters>& field);
 inline void ReadNode(const cv::FileNode& fn, const char*, cv::Ptr<cv::aruco::DetectorParameters>& field)
 {
-    cv::aruco::DetectorParameters::readDetectorParameters(fn, field);
+    field->readDetectorParameters(fn);
 }
 
 template <typename ST>
diff --git a/AprilTagTrackers/Tracker.cpp b/AprilTagTrackers/Tracker.cpp
index 556fe52..462591d 100644
--- a/AprilTagTrackers/Tracker.cpp
+++ b/AprilTagTrackers/Tracker.cpp
@@ -944,7 +944,7 @@ void Tracker::CalibrateTracker()
             {
                 if (cv::aruco::estimatePoseBoard(corners, ids, arBoard, calib_config.camMat, calib_config.distCoeffs, boardRvec[i], boardTvec[i], false) > 0) // try to estimate current trackers pose
                 {
-                    cv::aruco::drawAxis(image, calib_config.camMat, calib_config.distCoeffs, boardRvec[i], boardTvec[i], 0.1f); // if found, draw axis and mark it found
+                    cv::drawFrameAxes(image, calib_config.camMat, calib_config.distCoeffs, boardRvec[i], boardTvec[i], 0.1f); // if found, draw axis and mark it found
                     boardFound[i] = true;
                 }
                 else
@@ -1265,7 +1265,7 @@ void Tracker::MainLoop()
                 cv::Vec3d rvec = q.toRotVec();
                 cv::Vec3d tvec{rpos[0], rpos[1], rpos[2]};
 
-                cv::aruco::drawAxis(drawImg, calib_config.camMat, calib_config.distCoeffs, rvec, tvec, 0.10f);
+                cv::drawFrameAxes(drawImg, calib_config.camMat, calib_config.distCoeffs, rvec, tvec, 0.10f);
 
                 if (!trackerStatus[i].boardFound) // if tracker was found in previous frame, we use that position for masking. If not, we use position from driver for masking.
                 {
@@ -1543,7 +1543,7 @@ void Tracker::MainLoop()
             // convert rodriguez rotation to quaternion
             cv::Quatd q = cv::Quatd::createFromRvec(trackerStatus[i].boardRvec);
 
-            // cv::aruco::drawAxis(drawImg, user_config.camMat, user_config.distCoeffs, boardRvec[i], boardTvec[i], 0.05);
+            // cv::drawFrameAxes(drawImg, user_config.camMat, user_config.distCoeffs, boardRvec[i], boardTvec[i], 0.05);
 
             q = cv::Quatd{0, 0, 1, 0} * (wrotation * q) * cv::Quatd{0, 0, 1, 0};