From 3e6fc7a38f96f433ba9a72518e47a4bfa718fa3e Mon Sep 17 00:00:00 2001 From: pansen <pansen626@sina.com> Date: 星期三, 26 十二月 2018 14:04:49 +0800 Subject: [PATCH] # Type(<scope>): <subject> --- QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp | 93 +++++++++++++++++++++++++++------------------- 1 files changed, 54 insertions(+), 39 deletions(-) diff --git a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp index b96f6bd..ab98b69 100644 --- a/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp +++ b/QiaoJiaSystem/VideoAnalysFromHC/RtspAnalysElement.cpp @@ -3,6 +3,7 @@ // #include "RtspAnalysElement.h" +#include <FaceTrackingWrapper.h> #include <basic/http_server/HttpSrvRetRecieve.hpp> @@ -68,6 +69,7 @@ } void RtspAnalysElement::init() { + appPref.setIntData("FaceTrackingRet", 1); auto lst = m_lDBTool->searchCamDevTableAll(); auto lst_dev = m_lDBTool->searchConfigTableWithinServerInfo(); @@ -106,7 +108,8 @@ vector<int> sdkDetCoVec = chnString2Vec(en_sdk.str_det_thr.toStdString()); vector<int> sdkComCoVec = chnString2Vec(en_sdk.str_cmp_thr.toStdString()); - int camId=item.str_cam_dev_id.toInt(); + int camId = item.str_cam_dev_id.toInt(); + int channel = 0; int t_size = sdkVec.size(); for (int i = 0; i < t_size; i++) { switch (sdkVec[i]) { @@ -115,7 +118,18 @@ json["face.enable"] = "1"; SETSCORE(sdkDetCoVec, i, t_camIdex + "face.det"); SETSCORE(sdkComCoVec, i, t_camIdex + "face.cmp"); + BasicFace::InitParam t_initParam; +// t_initParam.nDeviceID = 0; +// t_initParam.nImageWidth = nWidth; +// t_initParam.nImageHeight = nHeight; +// t_initParam.nMaxFaceNum = 50; +// t_initParam.nSampleSize = nWidth / 2; +// t_initParam.nDetectionIntervalFrame = 12; + g_faceTrackingWrapper.setChannelParam(channel, t_initParam); + g_channelCache.insert(std::make_pair(t_camIdex, channel)); + channel++; DBG(" TESTCODE " << sdkDetCoVec[i] << " " << sdkComCoVec[i]); +// #todo add param break; } @@ -137,15 +151,15 @@ json["perimeter.enable"] = "1"; SETSCORE(sdkDetCoVec, i, t_camIdex + "perimeter.det"); SETSCORE(sdkComCoVec, i, t_camIdex + "perimeter.cmp"); - setDataByType(4,json,camId); + setDataByType(4, json, camId); break; - } + } case 5: { json["crowd.enable"] = "1"; SETSCORE(sdkDetCoVec, i, t_camIdex + "crowd.det"); SETSCORE(sdkComCoVec, i, t_camIdex + "crowd.cmp"); - setDataByType(5,json,camId); + setDataByType(5, json, camId); break; } case 6: { @@ -153,7 +167,7 @@ json["keepRight.enable"] = "1"; SETSCORE(sdkDetCoVec, i, t_camIdex + "keepRight.det"); SETSCORE(sdkComCoVec, i, t_camIdex + "keepRight.cmp"); - setDataByType(6,json,camId); + setDataByType(6, json, camId); break; } } @@ -167,6 +181,10 @@ appPref.getLongData("gpu.index"); addCamera(t_camIdex, json.toStyledString()); + } + g_faceTrackingWrapper.initHandle(); + for (auto &item :controllers) { + item.second->start(); } } else { ERR("searchCamDevTableAll size is 0"); @@ -196,7 +214,7 @@ // controllers[index] = new AppPipeController(index, std::move(value), false); controllers[index]->setfdfsClient(&fdfsClient); - controllers[index]->start(); +// controllers[index]->start(); currentCount++; return 0; } @@ -266,39 +284,36 @@ } return result; } -void RtspAnalysElement::setDataByType(int type,Json::Value& json,int camId) -{ + +void RtspAnalysElement::setDataByType(int type, Json::Value &json, int camId) { switch (type) { - case 4: - { - auto rule=m_lDBTool->searchPerimeterRuleByCamId(camId); - json["perimeter.area"]=rule.strAreas.toStdString(); - json["perimeter.num"]=rule.nAlarmPeopleNum; - json["perimeter.delay"]=rule.nTriggerDelay; - json["perimeter.tolerance"]=rule.nTriggertolerance; - break; - } - case 5: - { - auto rule=m_lDBTool->searchCrowdRuleByCamId(camId); - json["crowd.area"]=rule.strAreas.toStdString(); - json["crowd.num"]=rule.nAlarmPeopleNum; - json["crowd.delay"]=rule.nTriggerDelay; - json["crowd.tolerance"]=rule.nTriggertolerance; - break; - } - case 6: - { - auto rule=m_lDBTool->searchActRuleByCamId(camId); - json["keepRight.leftArea"]=rule.strAreas.toStdString(); - json["keepRight.leftLine"]=rule.strLine.toStdString(); - json["keepRight.rightArea"]=rule.strExAreas.toStdString(); - json["keepRight.rightLine"]=rule.strExLine.toStdString(); - json["keepRight.delay"]=rule.nTriggerDelay; - json["keepRight.tolerance"]=rule.nTriggertolerance; - break; - } - default: - break; + case 4: { + auto rule = m_lDBTool->searchPerimeterRuleByCamId(camId); + json["perimeter.area"] = rule.strAreas.toStdString(); + json["perimeter.num"] = rule.nAlarmPeopleNum; + json["perimeter.delay"] = rule.nTriggerDelay; + json["perimeter.tolerance"] = rule.nTriggertolerance; + break; + } + case 5: { + auto rule = m_lDBTool->searchCrowdRuleByCamId(camId); + json["crowd.area"] = rule.strAreas.toStdString(); + json["crowd.num"] = rule.nAlarmPeopleNum; + json["crowd.delay"] = rule.nTriggerDelay; + json["crowd.tolerance"] = rule.nTriggertolerance; + break; + } + case 6: { + auto rule = m_lDBTool->searchActRuleByCamId(camId); + json["keepRight.leftArea"] = rule.strAreas.toStdString(); + json["keepRight.leftLine"] = rule.strLine.toStdString(); + json["keepRight.rightArea"] = rule.strExAreas.toStdString(); + json["keepRight.rightLine"] = rule.strExLine.toStdString(); + json["keepRight.delay"] = rule.nTriggerDelay; + json["keepRight.tolerance"] = rule.nTriggertolerance; + break; + } + default: + break; } } -- Gitblit v1.8.0