派生自 development/c++

pansen
2019-01-10 0436e5443295395025f89f0d091aab1e9551d1a4
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>
@@ -10,17 +9,20 @@
#include <QJsonArray>
#include <RapidStructureApp/TriggerElement.h>
#include <basic/util/fastdfs/FastFds.hpp>
#include "DBStruct.h"
#include <basic/db/Elasticsearch/EsDBTool.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);
@@ -46,7 +48,7 @@
    void setFdfs(FastFdsWithLock *p_fdfsClient) {
        fdfsClient = p_fdfsClient;
    }
    void setImage(const cv::Mat &value) const;
private:
@@ -59,24 +61,28 @@
    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);
    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;
   vector<cv::Rect> m_recVec;
};
#endif // PAELEMENT_H