From 93fcc2eb2db5038ca1944acde9f4c8b751aca930 Mon Sep 17 00:00:00 2001
From: xuxiuxi <554325746@qq.com>
Date: 星期一, 04 三月 2019 16:27:14 +0800
Subject: [PATCH] add models, daos and controllers for tables.

---
 QiaoJiaSystem/StructureApp/FaceRpcElement.cpp |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp b/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
index 5399c59..9ab6f01 100644
--- a/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
@@ -39,7 +39,8 @@
     sharedMemory(nullptr),
     trackingTrigger(nullptr),
     m_sdkRule(rule),
-    m_bIsMask(true)
+    m_bIsMask(true),
+    m_bSetWH(false)
 {
     sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str()));
     if (!sharedMemory->create(4608 * 2592 * 4)) {
@@ -68,7 +69,7 @@
     t_score = t_score / 100;
 
     trackingTrigger = new TrackingTrigger(t_score);
-    setMask(m_sdkRule.strAreas.toStdString());
+//    setMask(m_sdkRule.strAreas.toStdString());
 }
 
 FaceRpcElement::~FaceRpcElement() {
@@ -81,6 +82,7 @@
 }
 
 void FaceRpcElement::threadFunc() {
+    INFO("MYH Run Here");
 //    ClockTimer ct("FaceRpcElement::threadFunc");
 //    {
 //
@@ -88,7 +90,10 @@
 //        cv::imwrite(string1, image);
 //    }
     if(!isInWeek(m_sdkRule.weekRuleVec))
+    {
+        ERR("In Week");
         return;
+    }
     triggerMats.clear();
     triggerFaces.clear();
     triggerScoredRects.clear();
@@ -109,6 +114,7 @@
             QPoint center = re.center();
             if(m_bIsMask && !mPolygon.containsPoint(center,Qt::OddEvenFill))
             {
+                ERR("m_bIsMask :"<<m_bIsMask)
                 return;
             }
             scoredRect.rect = {x, y, w, h};
@@ -123,14 +129,21 @@
                 trackingTrigger->getLastRect().properties["smile"] = to_string(property.smile_level);
                 trackingTrigger->getLastRect().properties["race"] = to_string(property.race);
                 trackingTrigger->getLastRect().properties["time"] = getProperty("time");
-
+                trackingTrigger->getLastRect().properties["detectscore"] = scoredRect.score;
+                trackingTrigger->getLastRect().properties["imgKey"] = getProperty("imgKey");
+                INFO("FaceRpcElement SaveToES: "<<getProperty("imgKey"));
                 triggerFaces.push_back(face);
                 triggerMats.push_back(image(
                     CvUtil::zoomRectEqual(scoredRect.rect, 1.5, 1.5) & cv::Rect(0, 0, image.cols, image.rows)).clone());
                 triggerScoredRects.push_back(trackingTrigger->getLastRect());
             } else {
+                INFO("No Face Find: "<<getProperty("imgKey"));
 //                DBG("trackingTrigger->triggerOnce(scoredRect) is false  ");
             }
+        }
+        if(faces.empty())
+        {
+            INFO("No Face Find: "<<getProperty("imgKey"));
         }
         trackingTrigger->triggerLine();
         //        DBG("faces.size  " << faces.size());
@@ -177,6 +190,11 @@
         image = cv::Mat(value.rows, value.cols, CV_8UC3, sharedMemory->data());
     }
     value.copyTo(image);
+    if(!m_bSetWH)
+    {
+        setMask(m_sdkRule.strAreas.toStdString());
+        m_bSetWH=true;
+    }
 }
 
 bool FaceRpcElement::getTriggerState() const {
@@ -190,13 +208,17 @@
         m_bIsMask=false;
         return;//do not detect
     }
+    float sizeW=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"width")/480;
+    float sizeH=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"height")/270;
     for(int i = 0;i < arrayAreas.size();++i)
     {
         QJsonValue jsonValue = arrayAreas[i];
         QJsonObject obj = jsonValue.toObject();
-        int x = obj.value("x").toDouble()*4;
-        int y = obj.value("y").toDouble()*4;
+        int x = obj.value("x").toDouble() *sizeW ;
+        int y = obj.value("y").toDouble() *sizeH;
         mPolygon<<(QPoint(x,y));
+        DBG("width="<<sizeW);
+        DBG("height="<<sizeH);
 
     }
 }

--
Gitblit v1.8.0