From 07a7c4f12e8ec4bafe53a6e76439469403ea487f Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 29 七月 2019 16:45:01 +0800 Subject: [PATCH] --- --- ruleserver/ruleToformula.go | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 46829fd..ab28e38 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -277,7 +277,7 @@ for _, sdkData := range args.Sdkdata { if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘� for _, areaMap := range sdkData.AreaMapList { - faces = append(faces, putFaceToResult(areaMap)...) + faces = append(faces, putFaceToResult(areaMap,faces)...) } } } @@ -296,8 +296,9 @@ } logger.Debug("------locations鐨勫唴瀹癸細", locations) if sdkNames != "" { + logger.Info(args.RuleResult["yolo"],args.RuleResult["face"]) args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId}) - logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result))) + //logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result))) } if faceFlag { args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces}) @@ -337,11 +338,19 @@ } } -func putFaceToResult(am *AreaMap) []Arg { +func putFaceToResult(am *AreaMap,faceList []Arg) []Arg { faces := []Arg{} if len(am.filterData) > 0 { for _, data := range am.filterData { - faces = append(faces, *data) + flag := true + for _,face := range faceList { + if data.Location.X == face.Location.X && data.Location.Y == face.Location.Y && data.Location.Width == face.Location.Width && data.Location.Height == face.Location.Height { + flag = false + } + } + if flag { + faces = append(faces, *data) + } } } @@ -481,8 +490,10 @@ var args []*Arg if rule.RuleWithPre == "&&" { args = am.filterData + logger.Info("杩囨护鍚庣殑args鐨勯暱搴︿负锛�",len(args)) } else { args = am.args + logger.Info("娌¤繃婊ょ殑args鐨勯暱搴︿负锛�",len(args)) } // 鍏堟竻绌鸿繃婊ゅ悗鐨勬暟鎹紝鍐嶅線閲屽鏈杩囨护鍚庣殑鏁版嵁 am.filterData = am.filterData[0:0] -- Gitblit v1.8.0