From f676f7af18163b4532b6b982bbe1dc57b32e96dd Mon Sep 17 00:00:00 2001 From: zhangjixing <775834166@qq.com> Date: 星期四, 24 一月 2019 15:38:22 +0800 Subject: [PATCH] --- QiaoJiaSystem/StructureApp/PerStaticElement.cpp | 130 ++++++++++++++++++++++++++----------------- 1 files changed, 78 insertions(+), 52 deletions(-) diff --git a/QiaoJiaSystem/StructureApp/PerStaticElement.cpp b/QiaoJiaSystem/StructureApp/PerStaticElement.cpp index a8156c3..667bb9a 100644 --- a/QiaoJiaSystem/StructureApp/PerStaticElement.cpp +++ b/QiaoJiaSystem/StructureApp/PerStaticElement.cpp @@ -46,9 +46,9 @@ if(!isInWeek(m_sdkRule.weekRuleVec)) return; int num=0; - - - for(auto obj:mObjs) + bool state=false; + time_t now= AppUtil::getCurrentUs(); + for(auto& obj:mObjs) { if(obj.score < m_sdkRule.fSensitivity)continue; @@ -57,11 +57,31 @@ QPoint center = rect.center(); if(mPolygon.containsPoint(center,Qt::OddEvenFill) || !m_bIsMask) { - for(auto score:m_lastScoreRect) + for(auto ele:m_lastScoreRect) { - if(obj.id == score.id) + if(obj.id == ele.id && (obj.rect&ele.rect).area()>ele.rect.area()*m_sdkRule.fSensitivity) { - obj.isMove = score.isMove; + if(obj.times ==0) + { + obj.times=AppUtil::getCurrentUs(); + } + else if( (now-obj.times)>m_sdkRule.nTriggerDelay*60*1000*1000) + { + DBG("now-obj.times="<<now-obj.times); + if(pointArray!=nullptr) + { + const cv::Point2i* ppt[1] = { pointArray }; + + int npt[]={npts}; + + cv::polylines(image, ppt,npt, 1, true,cv::Scalar(255,255,0)); + } + cv::rectangle(image, obj.rect, cv::Scalar(0, 0, 255), 2); + auto t_image = image(CvUtil::zoomRectEqual(obj.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone(); + std::string imgUrl=uploadImgToFdfs(t_image); + saveInfoToEs(imgUrl,obj); + obj.times=0; + } //DBG("moving? "<<_TrackingInfo.m_bMoveState) break; } @@ -71,44 +91,47 @@ } } - if((AppUtil::getCurrentUs()-m_lTime)>(m_sdkRule.nTriggerDelay*60*1000*1000)) - { - for(auto& obj: mObjs){ - - //compare with last temp memery and clear temp memery - for(auto ele:m_lastScoreRect) - { - if(ele.id==obj.id) - { - if((obj.rect&ele.rect).area()>ele.rect.area()*m_sdkRule.fSensitivity) - { - //not moving - obj.isMove = true; - - auto t_image = image(CvUtil::zoomRectEqual(obj.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone(); - std::string imgUrl=uploadImgToFdfs(t_image); - saveInfoToEs(imgUrl,obj); - m_triggerElement.setState(true); - //DBG("not moving") - } - else - { - obj.isMove = false; - m_triggerElement.setState(false); - //DBG("moving") - } - break; - } - } - //do temp memery - - } - // m_lastScoreRect = mObjs; - m_lTime =AppUtil::getCurrentUs(); - } - m_lastScoreRect=mObjs; - m_triggerElement.triggerOnce(); +// if((AppUtil::getCurrentUs()-m_lTime)>(m_sdkRule.nTriggerDelay*60*1000*1000)) +// { +// for(auto& obj: mObjs){ + +// //compare with last temp memery and clear temp memery +// for(auto ele:m_lastScoreRect) +// { +// if(ele.id==obj.id) +// { +// if((obj.rect&ele.rect).area()>ele.rect.area()*m_sdkRule.fSensitivity) +// { +// //not moving +// obj.isMove = true; + +// auto t_image = image(CvUtil::zoomRectEqual(obj.rect, 1.2, 1.2) & cv::Rect(0, 0, image.cols, image.rows)).clone(); +// std::string imgUrl=uploadImgToFdfs(t_image); +// saveInfoToEs(imgUrl,obj); +// m_triggerElement.setState(true); +// //DBG("not moving") +// } +// else +// { +// obj.isMove = false; +// m_triggerElement.setState(false); +// //DBG("moving") +// } +// break; +// } +// } +// //do temp memery + +// } +// // m_lastScoreRect = mObjs; +// m_lTime =AppUtil::getCurrentUs(); +// } + +// m_lastScoreRect=mObjs; + + m_triggerElement.setState(true); + m_triggerElement.triggerOnce(); fireConnectors(); @@ -149,6 +172,9 @@ m_bIsMask=false; return;//do not detect } + int size=arrayAreas.size(); + npts=size; + pointArray=new cv::Point2i[size]; for(int i = 0;i < arrayAreas.size();++i) { QJsonValue jsonValue = arrayAreas[i]; @@ -211,29 +237,29 @@ t_json["sdkType"] =to_string(m_sdkRule.nSdkType); // t_json["Gender"] = obj.score; - t_json["picName"] = "wait todo";// 鎶撴媿鐓х墖鍚嶇О - t_json["content"] = "wait todo";// 鍐呭鎻忚堪 + t_json["picName"] = "";// 鎶撴媿鐓х墖鍚嶇О + t_json["content"] = "";// 鍐呭鎻忚堪 t_json["personPicUrl"] = "";// 浜哄憳 鍦板簱鍥剧墖 t_json["ChannlId"] = getProperty("ch_id"); // 閫氶亾id t_json["likeDate"] =AppUtil::getTimeSecString(); // 姣斿鏃堕棿 t_json["picAddress"] =m_sdkRule.strAddr.toStdString();// 鎶撴媿鍦板潃 - t_json["picMaxUrl"] = "wait todo"; // 澶у浘璺緞 + t_json["picMaxUrl"] = ""; // 澶у浘璺緞 - // t_json["Age"] ="wait todo"; + // t_json["Age"] =""; t_json["picDate"] = obj.properties["time"]; // 鎶撴媿鏃堕棿锛屽繀椤绘湁 - t_json["picLocalUrl"] = "wait todo"; // 鏈湴璺緞 + t_json["picLocalUrl"] = ""; // 鏈湴璺緞 t_json["isDelete"] = "1";//榛樿1 ,0鏃犳晥 1鏈夋晥 - t_json["likePer"] = obj.score; // 鐩镐技鍊� + t_json["likePer"] = 1.0; // 鐩镐技鍊� - t_json["BaseName"] = "wait todo";// 鍦板簱鍚嶇О + t_json["BaseName"] = "";// 鍦板簱鍚嶇О t_json["videoNum"] = m_sdkRule.strCamId.toStdString();//Video璁惧缂栧彿 t_json["picSmUrl"] = imgUrl; // 鎶撴媿鍥剧墖 t_json["indeviceid"] = appPref.getStringData("fxDevID");;// 璁惧id - t_json["idcard"] = "wait todo"; - t_json["personId"] = "wait todo"; + t_json["idcard"] = ""; + t_json["personId"] = ""; t_json["indevicename"] = appPref.getStringData("fxDevNAME");// 璁惧鍚嶇О t_json["FaceFeature"] = "base64"; t_json["personIsHub"] = m_triggerElement.getTriggerState()?"1":"4"; //1: 鎶ヨ 2: 鍙枒 3: 瀹夊叏 4: 鏈煡 -- Gitblit v1.8.0