// // Created by Scheaven on 2020/3/23. // #ifndef ARI_MANAGER_H #define ARI_MANAGER_H #include "std_target.h" #include "config.h" #include "detector.h" #include "../utils/draw_util.h" #include "../tracker_tools/tracker.h" #include "detecter_manager.h" // #include "../utils/result_util.h" using namespace std; using namespace cv; class AriManager{ public: std::vector boxes; int cam_id; //指定待追踪摄像机编号 Mat frame; std::vector> CAMERAS_VCT; std::vector DETECTION_VCT; private: std::shared_ptr detector; static void init_target(Target *t); void switch_SDK_TResult(int cam_id, cv::Mat img, DETECTIONS detections, TResult *t_result); void switch_SDK_TResult(DETECTIONS detections, TResult *t_result); void single_tracker(int cam_id, DETECTIONS& detections, char* img_time); public: AriManager(); ~AriManager(); void release(); void init_load_model(); bool add_cam(int cam_id); // void single_detect_tracking(int cam_id, cv::Mat frame, FRAME_RESULT result_vec); // 检测+追踪 接口 void single_SDK(const int cam_id, const void *img, TResult *t_result, char* img_time, const char* mode); void single_SDK(const int cam_id, const void *img, TResult* t_result); // void mul_detect_tracking(std::vector cam_ids, std::vector frame_vec, std::vector& results_vec); // 多摄像头追踪 }; #endif //INC_01_CPP_SORT_TRACKER_MANAGER_H