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/PerimeterElement.h | 51 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 31 insertions(+), 20 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.h b/QiaoJiaSystem/StructureApp/PerimeterElement.h index 9bf6eb4..d0056b9 100644 --- a/QiaoJiaSystem/StructureApp/PerimeterElement.h +++ b/QiaoJiaSystem/StructureApp/PerimeterElement.h @@ -1,8 +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> @@ -11,19 +9,21 @@ #include <QJsonArray> #include <RapidStructureApp/TriggerElement.h> #include <basic/util/fastdfs/FastFds.hpp> - -class PerimeterElement : public basic::PipeElement { +#include "DBStruct.h" +#include <basic/db/Elasticsearch/EsDBTool.h> +#include "IntAreaCalcUtil.h" +class PerimeterElement : public basic::PipeElement +{ public: - PerimeterElement(int alarm_people_num = 1); - + PerimeterElement(){} + PerimeterElement(const SdkRule& rule); public: ~PerimeterElement(); //鏄惁鏈夌煩褰� bool hasRects(); - //璁剧疆ROI鍖哄煙 - void setMask(std::string mask); + void setImage(const cv::Mat &value); @@ -49,36 +49,47 @@ void setFdfs(FastFdsWithLock *p_fdfsClient) { fdfsClient = p_fdfsClient; } - + void setImage(const cv::Mat &value) const; private: - virtual void threadInitial() override; + virtual void threadInitial()override; - virtual void threadFunc() override; + virtual void threadFunc()override; - QJsonArray getJsonArrayFromQString(const QString &strJson); + QJsonArray getJsonArrayFromQString(const QString& strJson); - std::string uploadImgToFdfs(cv::Mat &image); + 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; + 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; + }; #endif // PAELEMENT_H -- Gitblit v1.8.0