From 779b80d18f41fb855bc91eb6e5470d26665e6683 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 11 四月 2019 15:36:32 +0800
Subject: [PATCH] 添加VptElement
---
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..df6deca 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("RpcVTIMPort"),"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