From 0654d8d0f204a79132fed811a127db2e3ee34e1b Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期二, 30 七月 2019 10:15:24 +0800 Subject: [PATCH] 联动任务的arg转为faceresult --- ruleserver/ruleToformula.go | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 5780109..1e3307c 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -119,6 +119,7 @@ args.RuleResult = make(map[string]interface{}) args.RuleResult["yolo"] = []Result{} args.RuleResult["face"] = []FaceResult{} + logger.Warn("浼犺繘鍘讳箣鍓嶆槸浠�涔堝痉琛岋細",args.RuleResult["yolo"]) if taskGroup != nil && len(taskGroup.GroupRules) > 0 { for _, group := range taskGroup.GroupRules { //logger.Println("------------------------------浠诲姟瑙勫垯锛�",taskRule) @@ -146,6 +147,7 @@ } }() logger.Info("+++++++++++瑙勫垯寮�濮嬭繍琛�+++++++++++++++++褰撳墠澶ц鍒�--锛�", *groupRule) + logger.Warn("浼犺繘鍘讳箣鍚庢槸浠�涔堝痉琛岋細",args.RuleResult["yolo"]) Compare(args, groupRule) resultSplice := []*LittleRuleResult{} sdkNames := "" @@ -277,7 +279,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)...) } } } @@ -297,7 +299,7 @@ logger.Debug("------locations鐨勫唴瀹癸細", locations) if sdkNames != "" { 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 +339,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) + } } } @@ -427,7 +437,7 @@ args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, "", groupRule.GroupId, groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, ""}) logger.Info("-------------------yolo缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["yolo"].([]Result))) if args.RuleResult["face"] != nil { - logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]Arg))) + logger.Info("-------------------face缁撴灉鏍囩鏈夊嚑涓�", len(args.RuleResult["face"].([]FaceResult))) } //os.Exit(0) } -- Gitblit v1.8.0