pansen
2019-04-11 168cad8214b2229130485fdbf3f64d85ac458402
添加宏定义屏蔽VptRpcElement并替换为VptRpcElement
3个文件已修改
121 ■■■■■ 已修改文件
QiaoJiaSystem/StructureApp/AppPipeController.cpp 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/AppPipeController.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/VptServer/demo.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
QiaoJiaSystem/StructureApp/AppPipeController.cpp
@@ -26,7 +26,11 @@
    m_folderPath(folderPath),
    m_sdkRuleMap(ruleMap),
    fdfsClient(nullptr),
#ifdef YOLOSERVER
    yoloRpcElement(folderPath + "yoloRpc"),
#else
    vptRpcElement(folderPath + "yoloRpc"),
#endif
    faceRpcElement(folderPath + "faceRpc", ruleMap[FaceSdk]),
    faceExtractElement(folderPath + "faceExtract", ruleMap[FaceSdk]),
    triggerElement(25, 10),
@@ -75,7 +79,11 @@
    m_index(0),
    m_camId(camId),
    fdfsClient(nullptr),
#ifdef YOLOSERVER
    yoloRpcElement(camId + "yoloRpc"),
#else
    vptRpcElement(camId + "yoloRpc"),
#endif
    faceRpcElement(camId + "faceRpc", ruleMap[FaceSdk]),
    faceExtractElement(camId + "faceExtract", ruleMap[FaceSdk]),
    triggerElement(25, 4),
@@ -174,7 +182,6 @@
}
string test_str;
void AppPipeController::RecordVideo() {
    /*std::string imgKeyYolo = yoloRpcElement.getProperty("imgKey");
@@ -290,6 +297,7 @@
                faceRpcElement.submit();
            }
#ifdef YOLOSERVER
            if (!yoloRpcElement.isBusy()) {
                //#todo
                yoloRpcElement.setProperty("time", strNewTime);
@@ -298,6 +306,16 @@
                yoloRpcElement.setImage(imageTemp);
                yoloRpcElement.submit();
            }
#else
            if (!vptRpcElement.isBusy()) {
                //#todo
                vptRpcElement.setProperty("time", strNewTime);
                vptRpcElement.setProperty("imgKey", imgKey);
                INFO("Write To vptRpcElement time:" << strNewTime << "    ImgKey: " << imgKey);
                vptRpcElement.setImage(imageTemp);
                vptRpcElement.submit();
            }
#endif
            if (appPref.getIntData("show.image") == 1 && !imageDrawElement.isBusy()) {
@@ -344,6 +362,7 @@
    });
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        imageDrawElement.setYoloObjects(personElement.getLastScoreRects());
        if (!personElement.isBusy()) {
@@ -353,6 +372,19 @@
        //INFO("Record Video By Yolo");
        //this->RecordVideo();
    });
#else
    vptRpcElement.registerConnector([&] {
        imageDrawElement.setYoloObjects(personElement.getLastScoreRects());
        if (!personElement.isBusy()) {
            personElement.setObjsResults(vptRpcElement.getLastHpRects());
            personElement.submit();
        }
//#todo HCP
//#todo Car
        //INFO("Record Video By Yolo");
        //this->RecordVideo();
    });
#endif
    faceRpcElement.registerConnector([&] {
        imageDrawElement.setFaces(faceRpcElement.getLastScoreRects());
@@ -360,11 +392,20 @@
        //this->RecordVideo();
    });
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector("YoloTrigger", [&] {
//        auto images = yoloRpcElement.getTriggerMats();
        //INFO("Record Video By Yolo");
        //this->RecordVideo();
    });
#else
    vptRpcElement.registerConnector("YoloTrigger", [&] {
//        auto images = yoloRpcElement.getTriggerMats();
        //INFO("Record Video By Yolo");
        //this->RecordVideo();
    });
#endif
    faceRpcElement.registerConnector("FaceTrigger", [&] {
//        auto images = faceRpcElement.getTriggerMats();
@@ -406,7 +447,11 @@
    // registerElement(newRecordVideoElement);
    //videoCaptureElement.setOutPutInterval(3);
    faceExtractElement.setProperty("index", to_string(m_index));
#ifdef YOLOSERVER
    registerElement(yoloRpcElement);
#else
    registerElement(vptRpcElement);
#endif
    //#todo setProperty
//    faceExtractElement.setProperty("index", to_string(m_index));
//    faceExtractElement.setProperty("index", to_string(m_index));
@@ -474,18 +519,25 @@
    if (rule.nIsRun != 1) {
        return;
    }
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        if (!perimeterElement.isBusy()) {
            perimeterElement.setYoloObjects(yoloRpcElement.getLastScoreRects());
            perimeterElement.setImage(yoloRpcElement.getImage());
            perimeterElement.submit();
        }
    });
#else
    vptRpcElement.registerConnector([&] {
        if (!perimeterElement.isBusy()) {
            perimeterElement.setYoloObjects(vptRpcElement.getLastHpRects());
            perimeterElement.setImage(vptRpcElement.getImage());
            perimeterElement.submit();
        }
//        car
//        prc
    });
#endif
//    perimeterElement.registerConnector([&] {
//        peTriggerElement.setState(perimeterElement.getRealNum() > 0);
@@ -517,6 +569,7 @@
    crowdElement.setProperty("local_ip", m_localIp);
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        if (!crowdElement.isBusy()) {
            crowdElement.setYoloObjects(yoloRpcElement.getLastScoreRects());
@@ -524,7 +577,17 @@
            crowdElement.submit();
        }
    });
#else
    vptRpcElement.registerConnector([&] {
        if (!perimeterElement.isBusy()) {
            perimeterElement.setYoloObjects(vptRpcElement.getLastHpRects());
            perimeterElement.setImage(vptRpcElement.getImage());
            perimeterElement.submit();
        }
//        car
//        prc
    });
#endif
    registerElement(crowdElement);
//    registerElement(crowdTriggerElement);
}
@@ -538,6 +601,7 @@
    rightJudgment.setProperty("local_ip", m_localIp);
    leftJudgment.init(rule.strAreas, rule.strLine);
    rightJudgment.init(rule.strExAreas, rule.strExLine);
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        if (!leftJudgment.isBusy()) {
            leftJudgment.setYoloObjects(yoloRpcElement.getLastScoreRects());
@@ -552,6 +616,22 @@
        }
    });
#else
    vptRpcElement.registerConnector([&] {
        if (!leftJudgment.isBusy()) {
            leftJudgment.setYoloObjects(vptRpcElement.getLastHpRects());
            leftJudgment.setImage(vptRpcElement.getImage());
            leftJudgment.submit();
        }
        if (!rightJudgment.isBusy()) {
            rightJudgment.setYoloObjects(vptRpcElement.getLastHpRects());
            rightJudgment.setImage(vptRpcElement.getImage());
            rightJudgment.submit();
        }
    });
#endif
    registerElement(leftJudgment);
    registerElement(rightJudgment);
@@ -566,6 +646,8 @@
    //area="[{\"x\":100,\"y\":6},{\"x\":100,\"y\":1200},{\"x\":1800,\"y\":1200},{\"x\":1800,\"y\":6}]";
    perStaticElement.setProperty("local_ip", m_localIp);
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        if (!perStaticElement.isBusy()) {
            perStaticElement.setYoloObjects(yoloRpcElement.getLastScoreRects());
@@ -573,7 +655,15 @@
            perStaticElement.submit();
        }
    });
#else
    vptRpcElement.registerConnector([&] {
        if (!perStaticElement.isBusy()) {
            perStaticElement.setYoloObjects(vptRpcElement.getLastHpRects());
            perStaticElement.setImage(vptRpcElement.getImage());
            perStaticElement.submit();
        }
    });
#endif
    registerElement(perStaticElement);
}
@@ -586,6 +676,8 @@
    //area="[{\"x\":100,\"y\":6},{\"x\":100,\"y\":1200},{\"x\":1800,\"y\":1200},{\"x\":1800,\"y\":6}]";
    perHubElement.setProperty("local_ip", m_localIp);
#ifdef YOLOSERVER
    yoloRpcElement.registerConnector([&] {
        if (!perHubElement.isBusy()) {
            perHubElement.setYoloObjects(yoloRpcElement.getLastScoreRects());
@@ -593,6 +685,15 @@
            perHubElement.submit();
        }
    });
#else
    vptRpcElement.registerConnector([&] {
        if (!perHubElement.isBusy()) {
            perHubElement.setYoloObjects(vptRpcElement.getLastHpRects());
            perHubElement.setImage(vptRpcElement.getImage());
            perHubElement.submit();
        }
    });
#endif
    registerElement(perHubElement);
}
QiaoJiaSystem/StructureApp/AppPipeController.h
@@ -20,6 +20,7 @@
#include <jsoncpp/json/json.h>
#include "DBStruct.h"
#include "SaveVideoRpc.h"
#include "VptRpcElement.h"
class VideoCaptureElementNotDecoder : public ffmpeg::VideoCaptureElement {
    using ffmpeg::VideoCaptureElement::VideoCaptureElement;
@@ -105,7 +106,13 @@
    SaveVideoRpcClient_t m_rpcClient;
    VideoCaptureElementNotDecoder videoCaptureElement;
//    ffmpeg::VideoCaptureElement videoCaptureElement;
#ifdef YOLOSERVER
    YoloRpcElement yoloRpcElement;
#else
    VptRpcElement vptRpcElement;
#endif
    FaceRpcElement faceRpcElement;
    FaceExtractElement faceExtractElement;
    ImageDrawElement imageDrawElement;
QiaoJiaSystem/VptServer/demo.cpp
@@ -72,7 +72,6 @@
        auto res = server->VptDetect(image.cols, image.rows, sharedMemory->key().toStdString());
        if (res.size() > 0) {
            DBG(res.size());
        }