From 9f08028f23d9e5cbfa159bec1e07d63b141a6809 Mon Sep 17 00:00:00 2001 From: zhangjixing <775834166@qq.com> Date: 星期五, 18 一月 2019 10:17:00 +0800 Subject: [PATCH] --- QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp | 88 +++++++++++++++++++++++++------------------- 1 files changed, 50 insertions(+), 38 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp index 9c6cda9..bcf0518 100644 --- a/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp +++ b/QiaoJiaSystem/StructureApp/JudgmentRetrogradeTool.cpp @@ -10,7 +10,7 @@ #include <basic/util/app/AppPreference.hpp> JudgmentRetrogradeTool::JudgmentRetrogradeTool(const SdkRule &rule) : - m_triggerElement(rule.nTriggerDelay * 8, 0), + m_triggerElement(0, 0), m_sdkRule(rule), pManagerEsDB(nullptr) { @@ -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; } @@ -143,6 +138,41 @@ } 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