/* * @Author: yangzilong * @Date: 2021-12-17 20:27:57 * @Last Modified by: yangzilong * @Email: yangzilong@objecteye.com * @Description: */ #pragma once #include "../ai_platform/det_obj_header.h" #include #include #include #include #include #include "../ai_platform/task_param_manager.h" #include "../ai_platform/header.h" // #define EXPANSION_PROPORTION 0.1 #define EXPANSION_PROPORTION 0.25 #define FACE_EXPANSION_PROPORTION 0.5 #define IMG_CHANNELS 3 // using namespace std; using std::vector; using std::map; using std::set; class DeviceMemory; typedef struct multi_obj_data_t{ long long id; DeviceMemory *memPtr; std::vector objs; string task_id; } multi_obj_data_t; class snapshot_reprocessing { public: //更新最优快照 static snapshot_reprocessing* getInstance() { static snapshot_reprocessing snapshot_reprocessing_instance; return &snapshot_reprocessing_instance; } vector get_vehicle_snapshot(vector vec_devMem, vector& ol_det_result, int skip_frame); private: snapshot_reprocessing(); map> algor_index_table; task_param_manager *m_task_param_manager; public: void screen_effective_snapshot(const vector &taskid_inplay, vector &_onelevel_det_result); void filter_vehicle(vector vec_devMem, vector &_onelevel_det_result); };