| | |
| | | #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) |
| | | { |
| | |
| | | } |
| | | |
| | | 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; |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | 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; |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | 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); |