From 4eb29b8ec8777f68c26dfe2a4397cce92110fcfd Mon Sep 17 00:00:00 2001 From: chenshijun <chenshijun@aiotlink.com> Date: 星期三, 08 九月 2021 17:58:20 +0800 Subject: [PATCH] ok --- src/h_interface.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/h_interface.cpp b/src/h_interface.cpp index 2bd00be..c1adcb5 100644 --- a/src/h_interface.cpp +++ b/src/h_interface.cpp @@ -9,18 +9,28 @@ string m_staticStruct::model_path = "path"; 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; @@ -28,8 +38,40 @@ init_TResult(t_result); Timer::getInstance()->out("eveTime before yolo"); - h->single_SDK(chan, img, *t_result); + // 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); + std::string mode_type = 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_type == "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; } @@ -55,7 +97,6 @@ h = NULL; } -// 璇诲彇Json鏂囦欢 void ReadJsonFromFile(const char* filename) { Json::Reader reader; @@ -76,8 +117,19 @@ { std::string model_path = root["param"]["model_path"].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::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