zhangjixing
2019-01-18 9f08028f23d9e5cbfa159bec1e07d63b141a6809
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);
        if(b!=0)
        {
        bool ret = a >= b ? true : false;
           //  DBG("id="<<item.first<<" a="<<a<<"  b="<<b<<" ret="<<ret);
        if (!ret) {
            m_mapPerRet.insert(std::make_pair(item.first, false));
                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);