From e4c9b5bfb1d9000c08d84f2f044cd0c3605a2945 Mon Sep 17 00:00:00 2001
From: miyanhui <dennismi1024@gmail.com>
Date: 星期三, 13 二月 2019 14:17:13 +0800
Subject: [PATCH] 修复检测结果ImgKey不对应的问题

---
 QiaoJiaSystem/StructureApp/AppPipeController.cpp |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
index 18c22b4..fc5db6f 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp
+++ b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
@@ -177,6 +177,56 @@
 
 string test_str;
 
+
+void AppPipeController::RecordVideo() {
+    std::string imgKeyYolo = yoloRpcElement.getProperty("imgKey");
+
+    std::string imgKeyFace = faceRpcElement.getProperty("imgKey");
+    if(faceRpcElement.getTriggerState() ||
+       personElement.getTriggerState() ||
+       leftJudgment.getTriggerState() ||
+       rightJudgment.getTriggerState() ||
+       perimeterElement.getTriggerState() ||
+       crowdElement.getTriggerState() ||
+       perHubElement.getTriggerState() ||
+       perStaticElement.getTriggerState())
+    {
+        try {
+            auto server = rpcClient.getServer();
+            if (!server)
+            {
+                ERR("server is null");
+                return;
+            }
+
+            if(imgKeyFace != imgKeyYolo)
+            {
+                server->recordVideo(imgKeyFace);
+                server->recordVideo(imgKeyYolo);
+                INFO("Record Video Face: "<<imgKeyFace);
+                INFO("Record Video Yolo: "<<imgKeyYolo);
+            } else {
+                INFO("Record Video: "<<imgKeyYolo);
+                server->recordVideo(imgKeyFace);
+            }
+        }
+        catch (std::exception &e)
+        {
+            ERR("Record Video ImgKeyFace: "<<imgKeyFace <<" ImgKeyYolo :"<<imgKeyYolo <<"   Message: "<<e.what());
+            return ;
+        }
+    }
+    else {
+        INFO("faceRpcElement: "<< faceRpcElement.getTriggerState() <<" "<<
+                               "personElement: "<<personElement.getTriggerState() <<"  "<<
+                               "leftJudgment: "<<leftJudgment.getTriggerState() <<"   "<<
+                               "leftJudgment: "<<rightJudgment.getTriggerState() <<"    "<<
+                               "perimeterElement: "<<perimeterElement.getTriggerState()<<"  "<<
+                               "crowdElement: "<<crowdElement.getTriggerState()<<"   "<<
+                               "perHubElement: "<<perHubElement.getTriggerState()<<"   "<<
+                               "perStaticElement: "<<perStaticElement.getTriggerState());
+    }
+}
 void AppPipeController::init() {
 
     unsigned char ip_old[15] = {0};
@@ -258,7 +308,7 @@
                 imageDrawElement.submit();
             }
 
-            if(faceRpcElement.getTriggerState() ||
+            /*if(faceRpcElement.getTriggerState() ||
                  personElement.getTriggerState() ||
                  leftJudgment.getTriggerState() ||
                  rightJudgment.getTriggerState() ||
@@ -292,7 +342,7 @@
                     "crowdElement: "<<crowdElement.getTriggerState()<<"   "<<
                     "perHubElement: "<<perHubElement.getTriggerState()<<"   "<<
                     "perStaticElement: "<<perStaticElement.getTriggerState());
-            }
+            }*/
         }
     });
 
@@ -303,10 +353,14 @@
             personElement.setObjsResults(yoloRpcElement.getLastScoreRects());
             personElement.submit();
         }
+        INFO("Record Video By Yolo");
+        this->RecordVideo();
     });
 
     faceRpcElement.registerConnector([&] {
         imageDrawElement.setFaces(faceRpcElement.getLastScoreRects());
+        INFO("Record Video By Face");
+        this->RecordVideo();
     });
 
     yoloRpcElement.registerConnector("YoloTrigger", [&] {

--
Gitblit v1.8.0