From 61a8166ed71b881863de8c62e45ae3e7803a455e Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期一, 28 一月 2019 20:21:20 +0800
Subject: [PATCH] 添加布控等级。对比暂未添加本字段。
---
QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp | 96 +++++++++++++++++++++++++++---------------------
1 files changed, 54 insertions(+), 42 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
index 49af467..bcf0518 100644
--- a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
+++ b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp
@@ -10,10 +10,10 @@
#include <basic/util/app/AppPreference.hpp>
JudgmentRetrogradeTool::JudgmentRetrogradeTool(const SdkRule &rule) :
- TimerElement(1000),
- m_triggerElement(rule.nTriggerDelay * 8, 0),
+ m_triggerElement(0, 0),
m_sdkRule(rule),
- pManagerEsDB(nullptr) {
+ pManagerEsDB(nullptr)
+{
pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
}
@@ -29,7 +29,7 @@
//#todo string ->json
QJsonArray arrayAreas = getJsonArrayFromQString(area);
if (arrayAreas.isEmpty()) {
- return false;//do not detect
+ return false;
}
QVector<QPoint> vec;
for (int i = 0; i < arrayAreas.size(); ++i) {
@@ -79,14 +79,9 @@
}
void JudgmentRetrogradeTool::setYoloObjects(std::vector<ScoredRect> value) {
- if (!isInWeek(m_sdkRule.weekRuleVec))
- return;
- mObjs = value;
- for (auto &item :value) {
- if (item.score < m_sdkRule.fSensitivity)continue;
- setPerRect(item.id, item.rect);
- }
+ mObjs = value;
+
}
@@ -118,7 +113,7 @@
}
bool JudgmentRetrogradeTool::getPerRet(const long &id) {
- bool ret = (m_mapPerRet.find(id) == m_mapPerRet.end()) ? true : m_mapPerRet[id];
+ bool ret = (m_mapPerRet.find(id) == m_mapPerRet.end()) ? false :m_mapPerRet[id]>=m_sdkRule.nTriggerDelay * 8;
return ret;
}
@@ -137,12 +132,47 @@
return JRTOOL::getAngelOfTwoVector(directionVectorPoint, point);
}
-void JudgmentRetrogradeTool::timerFunc() {
+void JudgmentRetrogradeTool::threadFunc() {
func();
fireConnectors();
}
void JudgmentRetrogradeTool::func() {
+ if (!isInWeek(m_sdkRule.weekRuleVec))
+ return;
+ bool state=false;
+ for (auto &scoredRect :mObjs) {
+ if (scoredRect.score < m_sdkRule.fSensitivity)continue;
+
+ if (getPerRet(scoredRect.id))//judgment.bool
+ {
+ DBG("scoredRect.id" << scoredRect.id << " val=" << m_mapPerRet[scoredRect.id]);
+ m_mapPerRet[scoredRect.id] -=2400;
+ auto t_image = image(
+ CvUtil::zoomRectEqual(scoredRect.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone();
+ // auto t_image = image(scoredRect.rect& cv::Rect(0, 0, image.cols, image.rows)).clone();
+ std::string imgUrl = uploadImgToFdfs(t_image);
+ saveInfoToEs(imgUrl, scoredRect);
+ state=true;
+
+
+ // break;
+ }
+// m_triggerElement.triggerOnce();
+// if(m_triggerElement.getState())
+// {
+
+// auto t_image = image(
+// CvUtil::zoomRectEqual(scoredRect.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone();
+// // auto t_image = image(scoredRect.rect& cv::Rect(0, 0, image.cols, image.rows)).clone();
+// std::string imgUrl = uploadImgToFdfs(t_image);
+// saveInfoToEs(imgUrl, scoredRect);
+// }
+
+ setPerRect(scoredRect.id, scoredRect.rect);
+ }
+ m_triggerElement.setState(state);
+ m_triggerElement.triggerOnce();
for (auto &item : m_mapPerDirection) {
int a = 0;
int b = 0;
@@ -154,13 +184,18 @@
a++;
}
}
- // DBG("id="<<item.first<<" a="<<a<<" b="<<b);
- bool ret = a >= b ? true : false;
- if (!ret) {
- m_mapPerRet.insert(std::make_pair(item.first, false));
- // m_mapPerRet[item.first] = false;
+ if(b!=0)
+ {
+ bool ret = a >= b ? true : false;
+ // DBG("id="<<item.first<<" a="<<a<<" b="<<b<<" ret="<<ret);
+ if (!ret) {
+ m_mapPerRet[item.first]+=1;
+ // m_mapPerRet.insert(std::make_pair(item.first, false));
+ // m_mapPerRet[item.first] = false;
+ }
}
+
if (temp.size() > 9) {
@@ -168,30 +203,7 @@
}
}
- for (auto scoredRect:mObjs) {
- if (!getPerRet(scoredRect.id))//judgment.bool
- {
- DBG("scoredRect.id" << scoredRect.id << " val=" << m_mapPerRet[scoredRect.id]);
- m_mapPerRet[scoredRect.id] = true;
- m_triggerElement.setState(true);
-
-
- break;
- } else {
- m_triggerElement.setState(false);
-
- }
- m_triggerElement.triggerOnce();
- if(m_triggerElement.getTriggerState())
- {
- auto t_image = image(
- CvUtil::zoomRectEqual(scoredRect.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone();
- // auto t_image = image(scoredRect.rect& cv::Rect(0, 0, image.cols, image.rows)).clone();
- std::string imgUrl = uploadImgToFdfs(t_image);
- saveInfoToEs(imgUrl, scoredRect);
- }
- }
}
@@ -203,7 +215,7 @@
CvUtil::cvMat2Buffer(image, buffer);
std::string strImgUrlTmp = "";
fdfsClient->fastFds->uploadFile(buffer, strImgUrlTmp, "jpg");
- strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp);
+ // strImgUrl.append(fdfsClient->fastFds->getIp() + "/" + strImgUrlTmp);
strImgUrl.clear();
strImgUrl = strImgUrlTmp;
// strImgUrl.append("/").append(strImgUrlTmp);
--
Gitblit v1.8.0