From 5bf0020b189b2bc8c64737c2af4ea77c3e8f5612 Mon Sep 17 00:00:00 2001
From: xuxiuxi <554325746@qq.com>
Date: 星期五, 08 三月 2019 22:24:27 +0800
Subject: [PATCH] Merge branch 'yw.1.2.fixbug' of http://192.168.1.226:10010/r/development/c++ into yw.1.2.fixbug

---
 QiaoJiaSystem/StructureApp/PerimeterElement.h |   40 ++++++++++++++++++++++++++++------------
 1 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.h b/QiaoJiaSystem/StructureApp/PerimeterElement.h
index b6fbd88..7f90643 100644
--- a/QiaoJiaSystem/StructureApp/PerimeterElement.h
+++ b/QiaoJiaSystem/StructureApp/PerimeterElement.h
@@ -1,7 +1,6 @@
 #ifndef PERIMETERELEMENT
 #define PERIMETERELEMENT
 #include <basic/pipe/PipeElement.h>
-#include <basic/event/EventHandler.hpp>
 #include <opencv2/opencv.hpp>
 #include <Ice/Ice.h>
 #include <YoloServer.h>
@@ -9,18 +8,24 @@
 #include "TrackingTrigger.h"
 #include <QJsonArray>
 #include <RapidStructureApp/TriggerElement.h>
+#include <basic/util/app/AppPreference.hpp>
 #include <basic/util/fastdfs/FastFds.hpp>
+#include "DBStruct.h"
+#include <basic/db/Elasticsearch/EsDBTool.h>
+#include "IntAreaCalcUtil.h"
+#include "SaveVideoRpc.h"
 class PerimeterElement : public basic::PipeElement
 {
 public:
-    PerimeterElement(int alarm_people_num=1);
+    PerimeterElement():m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp"){}
+    PerimeterElement(const SdkRule& rule);
 public:
     ~PerimeterElement();
 
     //鏄惁鏈夌煩褰�
     bool hasRects();
     //璁剧疆ROI鍖哄煙
-    void setMask(std::string mask);
+
 
     void setImage(const cv::Mat &value);
 
@@ -46,10 +51,10 @@
     void setFdfs(FastFdsWithLock *p_fdfsClient) {
         fdfsClient = p_fdfsClient;
     }
-
+    void setImage(const cv::Mat &value) const;
 
 private:
-
+    //PerimeterElement(const SdkRule& rule);
 
     virtual void threadInitial()override;
 
@@ -59,24 +64,35 @@
 
     std::string uploadImgToFdfs(cv::Mat& image);
 
-    bool saveInfoToEs(const std::string& imgUrl,const ::YoloDetect::ObjInfo& obj);
-
-
-
+    bool saveInfoToEs(const std::string& imgUrl,const std::string& time,const std::string& imgKey);
+    void setMask(std::string mask);
+    bool isInWeek(const std::vector<LActRuleWeekRecord>& ruleWeek);
+    cv::Rect CutMask();
 private:
     cv::Mat image;
-    cv::Mat mask;
+    //cv::Mat mask;
     //vector<VPT_ObjInfo> vptResults;
     ::YoloDetect::ObjInfos m_objs;
-    float sensitivity;
     QPolygon mPolygon;
     TrackingTrigger *trackingTrigger;
     ::YoloDetect::stringData cocoData;
     int mRealNum;
-    int m_nAlarmPeopleNum;
     std::vector<ScoredRect> mObjs;
     TriggerElement m_triggerElement;
     FastFdsWithLock* fdfsClient;
+    SdkRule m_sdkRule;
+    EsDBTool* pManagerEsDB;
+
+
+    int npts;
+   std::vector<cv::Rect> m_recVec;
+
+   bool m_bIsMask;
+   std::vector<Point> poly1;
+   bool m_bSetWH;
+   cv::Point2i* pointArray;
+   SaveVideoRpcClient_t m_rpcClient;
+
 };
 
 #endif // PAELEMENT_H

--
Gitblit v1.8.0