#ifndef YOLORPCELEMENT_H #define YOLORPCELEMENT_H #include #include #include #include #include #include #include "TrackingTrigger.h" #include "DBStruct.h" class QSharedMemory; class YoloRpcElement : public basic::PipeElement { public: YoloRpcElement(std::string shareMemoryName); ~YoloRpcElement(); void setImage(const cv::Mat &value); cv::Mat getImage() const; ::YoloDetect::ObjInfos getObjects() const; std::vector getLastScoreRects() const; private: virtual void threadFunc() override; private: IceRpcClient rpcClient; cv::Mat image; QSharedMemory *sharedMemory; ::YoloDetect::ObjInfos objs; ::YoloDetect::stringData cocoData; std::vector triggerScoredRects; TrackingTrigger *trackingTrigger; }; #endif // YOLORPCELEMENT_H