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