//
|
// Created by ps on 19-4-11.
|
//
|
|
#ifndef QIAOJIASYSTEM_VPTRPCELEMENT_H
|
#define QIAOJIASYSTEM_VPTRPCELEMENT_H
|
|
#include "../VptServer/rpc/VptServer.h"
|
#include <basic/pipe/PipeElement.h>
|
#include <basic/rpc/IceRpc.hpp>
|
#include <opencv2/opencv.hpp>
|
#include <basic/util/fastdfs/FastFds.hpp>
|
#include <RapidStructureApp/TriggerElement.h>
|
#include "TrackingTrigger.h"
|
#include <QtCore/QSharedMemory>
|
#include <QtCore/QString>
|
|
#include <iostream>
|
|
|
class VptRpcElement : public basic::PipeElement {
|
public:
|
|
VptRpcElement(std::string shareMemoryName);
|
|
virtual ~VptRpcElement();
|
|
void setImage(const cv::Mat &value);
|
|
cv::Mat getImage() const;
|
|
VptDetect::ObjInfos getObjects() const;
|
|
std::vector<ScoredRect> getLastScoreRects() const;
|
|
std::vector<ScoredRect> getLastHpRects() const;
|
|
std::vector<ScoredRect> getLastHCPRects() const;
|
|
std::vector<ScoredRect> getLastCarRects() const;
|
|
private:
|
void init();
|
|
virtual void threadFunc() override;
|
|
private:
|
IceRpcClient<VptDetect::VptDetectServerPrx> m_rpcClient;
|
cv::Mat m_image;
|
std::string m_shareMemoryName;
|
QSharedMemory *m_sharedMemory;
|
::VptDetect::ObjInfos m_objs;
|
|
VptDetect::stringData m_TypeStr; // 检测种类 case 2
|
VptDetect::stringData m_colorLabelStr; // 车牌颜色 case 3
|
VptDetect::stringDatas m_HpResStr; // 检测种类 case 0
|
VptDetect::stringDatas m_HcpResStr; // 检测种类 case 1
|
std::vector<ScoredRect> m_triggerScoredRects;
|
std::vector<ScoredRect> m_CarScoredRects;
|
std::vector<ScoredRect> m_HPScoredRects;
|
std::vector<ScoredRect> m_HCPScoredRects;
|
TrackingTrigger *m_trackingTrigger;
|
|
};
|
|
|
#endif //QIAOJIASYSTEM_VPTRPCELEMENT_H
|