From ee960033e881a16f0243a349036b7fdac8975228 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 29 七月 2019 15:05:30 +0800 Subject: [PATCH] 人脸多区域坐标去重 --- ruleserver/ruleToformula.go | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 46829fd..3986576 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)...) } } } @@ -337,11 +337,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 +489,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