#ifndef FACERPCELEMENT_H #define FACERPCELEMENT_H #include #include #include #include #include #include "TrackingTrigger.h" class QSharedMemory; class FaceRpcElement : public basic::PipeElement { public: FaceRpcElement(string); ~FaceRpcElement(); // PipeElement interface void setImage(const cv::Mat &value); ::FaceDetect::Faces getFaces() const; std::vector getTriggerMats(); std::vector getTriggerScoreRects() const; std::vector getLastScoreRects() const; ::FaceDetect::Faces getTriggerFaces() const; bool getTriggerState() const; cv::Mat getImage() const; private: virtual void threadFunc() override; private: IceRpcClient rpcClient; cv::Mat image; QSharedMemory *sharedMemory; ::FaceDetect::Faces faces; TrackingTrigger *trackingTrigger; // 当前帧新增人脸 ? ::FaceDetect::Faces triggerFaces; // 当前帧新增人脸图片? std::vector triggerMats; // 当前帧新增人脸位置? std::vector triggerScoredRects; //录像触发 TriggerElement m_triggerElement; // 是否使用sdk跟踪 bool m_trackingRet; int m_channel; }; #endif // FACERPCELEMENT_H