From e4c9b5bfb1d9000c08d84f2f044cd0c3605a2945 Mon Sep 17 00:00:00 2001
From: miyanhui <dennismi1024@gmail.com>
Date: 星期三, 13 二月 2019 14:17:13 +0800
Subject: [PATCH] 修复检测结果ImgKey不对应的问题
---
QiaoJiaSystem/StructureApp/FaceRpcElement.cpp | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp b/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
index 3a4c807..8e19e77 100644
--- a/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
+++ b/QiaoJiaSystem/StructureApp/FaceRpcElement.cpp
@@ -39,7 +39,8 @@
sharedMemory(nullptr),
trackingTrigger(nullptr),
m_sdkRule(rule),
- m_bIsMask(true)
+ m_bIsMask(true),
+ m_bSetWH(false)
{
sharedMemory = new QSharedMemory(QString(shareMemoryName.c_str()));
if (!sharedMemory->create(4608 * 2592 * 4)) {
@@ -68,7 +69,7 @@
t_score = t_score / 100;
trackingTrigger = new TrackingTrigger(t_score);
- setMask(m_sdkRule.strAreas.toStdString());
+// setMask(m_sdkRule.strAreas.toStdString());
}
FaceRpcElement::~FaceRpcElement() {
@@ -124,7 +125,8 @@
trackingTrigger->getLastRect().properties["race"] = to_string(property.race);
trackingTrigger->getLastRect().properties["time"] = getProperty("time");
trackingTrigger->getLastRect().properties["detectscore"] = scoredRect.score;
-
+ trackingTrigger->getLastRect().properties["imgKey"] = getProperty("imgKey");
+ INFO("FaceRpcElement SaveToES: "<<getProperty("imgKey"));
triggerFaces.push_back(face);
triggerMats.push_back(image(
CvUtil::zoomRectEqual(scoredRect.rect, 1.5, 1.5) & cv::Rect(0, 0, image.cols, image.rows)).clone());
@@ -178,6 +180,11 @@
image = cv::Mat(value.rows, value.cols, CV_8UC3, sharedMemory->data());
}
value.copyTo(image);
+ if(!m_bSetWH)
+ {
+ setMask(m_sdkRule.strAreas.toStdString());
+ m_bSetWH=true;
+ }
}
bool FaceRpcElement::getTriggerState() const {
@@ -191,13 +198,17 @@
m_bIsMask=false;
return;//do not detect
}
+ float sizeW=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"width")/480;
+ float sizeH=(float)appPref.getIntData(m_sdkRule.strCamId.toStdString()+"height")/270;
for(int i = 0;i < arrayAreas.size();++i)
{
QJsonValue jsonValue = arrayAreas[i];
QJsonObject obj = jsonValue.toObject();
- int x = obj.value("x").toDouble()*4;
- int y = obj.value("y").toDouble()*4;
+ int x = obj.value("x").toDouble() *sizeW ;
+ int y = obj.value("y").toDouble() *sizeH;
mPolygon<<(QPoint(x,y));
+ DBG("width="<<sizeW);
+ DBG("height="<<sizeH);
}
}
--
Gitblit v1.8.0