派生自 Algorithm/baseDetector

Scheaven
2021-08-11 8e10c57c7e053d8789747cf1e2c5fa78f2f65cc7
src/core/ari_manager.h
@@ -8,6 +8,10 @@
#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;
@@ -18,14 +22,26 @@
    int cam_id; //指定待追踪摄像机编号
    Mat frame;
    std::vector<std::shared_ptr<tracker>> CAMERAS_VCT;
    std::vector<DETECTIONS> DETECTION_VCT;
private:
    std::shared_ptr<Detector> 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 single_SDK(const int cam_id, const void *img, TResult& t_result); // 检测+追踪 接口(SDK封装)
    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<int> cam_ids, std::vector<cv::Mat> frame_vec, std::vector<FRAME_RESULT>&  results_vec); // 多摄像头追踪
};
#endif //INC_01_CPP_SORT_TRACKER_MANAGER_H