22 #ifndef OV_CORE_TRACK_ARUCO_H
23 #define OV_CORE_TRACK_ARUCO_H
26 #include <opencv2/aruco.hpp>
54 explicit TrackAruco(std::unordered_map<
size_t, std::shared_ptr<CamBase>> cameras,
int numaruco,
bool stereo,
HistogramMethod histmethod,
58 #if CV_MAJOR_VERSION > 4 || ( CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7)
59 aruco_dict = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_6X6_1000);
60 aruco_params.cornerRefinementMethod = cv::aruco::CORNER_REFINE_SUBPIX;
61 aruco_detector = cv::aruco::ArucoDetector(aruco_dict, aruco_params);
63 aruco_dict = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_6X6_1000);
64 aruco_params = cv::aruco::DetectorParameters::create();
70 std::exit(EXIT_FAILURE);
88 void display_active(cv::Mat &img_out,
int r1,
int g1,
int b1,
int r2,
int g2,
int b2, std::string overlay =
"")
override;
100 void perform_tracking(
double timestamp,
const cv::Mat &imgin,
size_t cam_id,
const cv::Mat &maskin);
109 #if ENABLE_ARUCO_TAGS
110 #if CV_MAJOR_VERSION > 4 || ( CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7)
112 cv::aruco::Dictionary aruco_dict;
114 cv::aruco::DetectorParameters aruco_params;
116 cv::aruco::ArucoDetector aruco_detector;
119 cv::Ptr<cv::aruco::Dictionary> aruco_dict;
121 cv::Ptr<cv::aruco::DetectorParameters> aruco_params;
126 std::unordered_map<size_t, std::vector<int>> ids_aruco;
127 std::unordered_map<size_t, std::vector<std::vector<cv::Point2f>>> corners, rejects;