From 168cad8214b2229130485fdbf3f64d85ac458402 Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 11 四月 2019 17:35:36 +0800
Subject: [PATCH] 添加宏定义屏蔽VptRpcElement并替换为VptRpcElement
---
QiaoJiaSystem/StructureApp/AppPipeController.cpp | 113 +++++++++++++++++++++++++++++++++++--
QiaoJiaSystem/VptServer/demo.cpp | 1
QiaoJiaSystem/StructureApp/AppPipeController.h | 7 ++
3 files changed, 114 insertions(+), 7 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.cpp b/QiaoJiaSystem/StructureApp/AppPipeController.cpp
index 4738830..fcddc04 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.cpp
+++ b/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);
}
diff --git a/QiaoJiaSystem/StructureApp/AppPipeController.h b/QiaoJiaSystem/StructureApp/AppPipeController.h
index 367af7a..0bb873a 100644
--- a/QiaoJiaSystem/StructureApp/AppPipeController.h
+++ b/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;
diff --git a/QiaoJiaSystem/VptServer/demo.cpp b/QiaoJiaSystem/VptServer/demo.cpp
index 47f6be4..43cd617 100644
--- a/QiaoJiaSystem/VptServer/demo.cpp
+++ b/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());
}
--
Gitblit v1.8.0