chenshijun
2019-04-22 291dbcd9331cd0df41addef74defa4654ee034fb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//
// 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