From ce9d187fd294cca192a27f52719094e9df7b1b62 Mon Sep 17 00:00:00 2001 From: 孙天宇 <suntianyu@aiotlink.com> Date: 星期二, 12 七月 2022 16:28:48 +0800 Subject: [PATCH] 优化仓库 --- src/h_interface.cpp | 69 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 insertions(+), 4 deletions(-) diff --git a/src/h_interface.cpp b/src/h_interface.cpp index ce84aa2..3b3a751 100644 --- a/src/h_interface.cpp +++ b/src/h_interface.cpp @@ -8,24 +8,71 @@ using namespace std; string m_staticStruct::model_path = "path"; +string m_staticStruct::model_cfg = "0"; // 鍒濆鍖栫粨鏋勪綋闈欐�佸彉閲忓�� +string m_staticStruct::model_wts = "0"; // 鍒濆鍖栫粨鏋勪綋闈欐�佸彉閲忓�� int m_staticStruct::type = 1; +bool m_staticStruct::isTrack= true; +int m_staticStruct::max_cam_num = 0; +int m_staticStruct::wander_time = 0; +float m_staticStruct::mv_velocity = 0; +float m_staticStruct::fall_rate = 0; -// 鍒涘缓 + API void* create(const char *conf, int *max_chan) { + // CLog::Initialize("/opt/vasystem/bin/models/baseDetector/log.properties"); CLog::Initialize("../config/log4cplus.properties"); ReadJsonFromFile(conf); AriManager *handle = new AriManager(); + *max_chan = m_staticStruct::max_cam_num; + for (int i = 1; i <= m_staticStruct::max_cam_num; ++i) + { + handle->add_cam(i); + } + Timer::getInstance()->reset(); return handle; } -// 鍘熸煡鎵剧粨鏋滄帴鍙� API void* get_result(void *handle, const void *img, const int chan) { AriManager *h = (AriManager*)handle; TResult *t_result = (TResult*)malloc(sizeof(TResult)); init_TResult(t_result); - h->single_SDK(chan, img, *t_result); + + Timer::getInstance()->out("eveTime before yolo"); + // h->single_SDK(chan, img, *t_result); + Timer::getInstance()->out("eveTime runing yolo"); + return t_result; +} + + +API void* get_result2(void *handle, const void *img, const int chan, const char* timestamp, const char* mode) +{ + DEBUG("-----------------------begin------------ "); + AriManager *h = (AriManager*)handle; + TResult *t_result = (TResult*)malloc(sizeof(TResult)); + init_TResult(t_result); + + if(!m_staticStruct::isTrack) + { + Timer::getInstance()->out("get_result2 before yolo"); + h->single_SDK(chan, img, t_result); + Timer::getInstance()->out("get_result2 runing yolo"); + return t_result; + } + + h->single_SDK(chan, img, t_result, const_cast<char*>(timestamp), mode); + DEBUG("--cam id:" + to_string(chan) + " image human_count:" + to_string(t_result->count)); + for (int i = 0; i < t_result->count; ++i) + { + if(mode == "video"){ + DEBUG("--human_id:" + to_string(t_result->targets[i].id)+" human_confidence:" + to_string(t_result->targets[i].confidence) + " human_attribute:" + std::string(t_result->targets[i].attribute) + " human_top:" + to_string(t_result->targets[i].rect.top)+" human_left:" + to_string(t_result->targets[i].rect.left) + " human_right:" + to_string(t_result->targets[i].rect.right)+ " human_bottom:" + to_string(t_result->targets[i].rect.bottom)); + } + else{ + DEBUG("human_confidence:" + to_string(t_result->targets[i].confidence) + " human_top:" + to_string(t_result->targets[i].rect.top)+" human_left:" + to_string(t_result->targets[i].rect.left) + " human_right:" + to_string(t_result->targets[i].rect.right)+ " human_bottom:" + to_string(t_result->targets[i].rect.bottom)); + } + } + DEBUG("---------------------end over------------------------\n\n"); return t_result; } @@ -51,7 +98,6 @@ h = NULL; } -// 璇诲彇Json鏂囦欢 void ReadJsonFromFile(const char* filename) { Json::Reader reader; @@ -71,9 +117,24 @@ if(reader.parse(in,root)) { std::string model_path = root["param"]["model_path"].asString(); + std::string model_cfg= root["param"]["model_cfg"].asString(); + std::string model_wts = root["param"]["model_wts"].asString(); int type = root["param"]["type"].asInt(); + bool isTrack = root["param"]["isTrack"].asBool(); + int max_cam_num = root["param"]["max_cam_num"].asInt(); + int wander_time = root["param"]["wander_time"].asInt(); + int mv_velocity = root["param"]["mv_velocity"].asFloat(); + int fall_rate = root["param"]["fall_rate"].asFloat(); m_staticStruct::model_path = model_path; + m_staticStruct::model_cfg = model_cfg; + m_staticStruct::model_wts = model_wts; m_staticStruct::type = type; + m_staticStruct::isTrack = isTrack; + m_staticStruct::max_cam_num = max_cam_num; + m_staticStruct::wander_time = wander_time; + m_staticStruct::mv_velocity = mv_velocity; + m_staticStruct::fall_rate = fall_rate; + } in.close(); } -- Gitblit v1.8.0