#ifndef PAYOLORPCELEMENT_H
|
#define PAYOLORPCELEMENT_H
|
|
#include <YoloServer.h>
|
#include <basic/pipe/PipeElement.h>
|
#include <basic/rpc/IceRpc.hpp>
|
#include <opencv2/opencv.hpp>
|
#include <basic/util/fastdfs/FastFds.hpp>
|
#include "../StructureApp/TrackingTrigger.h"
|
#include <QtCore/QVector>
|
#include <QtCore/QJsonArray>
|
#include <QtGui/qpolygon.h>
|
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<cv::Mat> getTriggerMats();
|
|
std::vector<ScoredRect> getLastScoreRects() const;
|
|
|
|
void setFdfs(FastFdsWithLock *p_fdfsClient) {
|
fdfsClient = p_fdfsClient;
|
}
|
|
private:
|
virtual void threadFunc() override;
|
bool isInWeekRuleTime();
|
QJsonArray getJsonArrayFromQString(const QString strJson);
|
private:
|
IceRpcClient<YoloDetect::YoloDetectServerPrx> rpcClient;
|
cv::Mat image;
|
QSharedMemory *sharedMemory;
|
::YoloDetect::ObjInfos objs;
|
TrackingTrigger *trackingTrigger;
|
std::vector<cv::Mat> triggerMats;
|
::YoloDetect::stringData cocoData;
|
FastFdsWithLock *fdfsClient;
|
cv::Mat mask,numMask;
|
QString mStrArea;
|
QPolygon mPolygon;
|
int mRealNum;
|
ControllerConfig* mCfg;
|
|
};
|
|
#endif // YOLORPCELEMENT_H
|