#ifndef PAYOLORPCELEMENT_H #define PAYOLORPCELEMENT_H #include #include #include #include #include #include "../StructureApp/TrackingTrigger.h" #include #include #include class QSharedMemory; class ControllerConfig; class PaYoloRpcElement : public basic::PipeElement { public: PaYoloRpcElement(string); ~PaYoloRpcElement(); void setImage(const cv::Mat &value); int getRealNum() const; void SetRuleCfg(const ControllerConfig* cfg); ::YoloDetect::ObjInfos getObjects() const; std::vector getTriggerMats(); std::vector getLastScoreRects() const; void setFdfs(FastFdsWithLock *p_fdfsClient) { fdfsClient = p_fdfsClient; } private: virtual void threadFunc() override; bool isInWeekRuleTime(); QJsonArray getJsonArrayFromQString(const QString strJson); private: IceRpcClient rpcClient; cv::Mat image; QSharedMemory *sharedMemory; ::YoloDetect::ObjInfos objs; TrackingTrigger *trackingTrigger; std::vector triggerMats; ::YoloDetect::stringData cocoData; FastFdsWithLock *fdfsClient; cv::Mat mask,numMask; QString mStrArea; QPolygon mPolygon; int mRealNum; ControllerConfig* mCfg; }; #endif // YOLORPCELEMENT_H