| | |
| | | "encoding/json" |
| | | "fmt" |
| | | "log" |
| | | "os" |
| | | "ruleprocess/cache" |
| | | "sort" |
| | | "strconv" |
| | |
| | | for _, sdkData := range args.Sdkdata { |
| | | for _, areaMap := range sdkData.AreaMapList { |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | | putFaceToResult(groupRule.Rules[j], &areaMap, faces) |
| | | faces = append(faces,putFaceToResult(groupRule.Rules[j], &areaMap)...) |
| | | } |
| | | } |
| | | } |
| | |
| | | args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText}) |
| | | log.Println("-------------------yolo结果标签",args.RuleResult["yolo"].([]Result)) |
| | | } |
| | | if args.RuleResult["faces"] != nil { |
| | | log.Println("-------------------face结果标签",args.RuleResult["faces"].([]Arg)) |
| | | os.Exit(1) |
| | | if args.RuleResult["face"] != nil { |
| | | log.Println("-------------------face结果标签",args.RuleResult["face"].([]Arg)) |
| | | } |
| | | return true |
| | | } else { |
| | |
| | | } |
| | | } |
| | | |
| | | func putFaceToResult(rule *protomsg.Rule, am *AreaMap, faces []Arg) { |
| | | func putFaceToResult(rule *protomsg.Rule, am *AreaMap) []Arg { |
| | | faces := []Arg{} |
| | | if rule.SdkId == am.sdkId { |
| | | if len(am.filterData) > 0 { |
| | | for _, data := range am.filterData { |
| | | log.Println("---------------------------------------------------------------------有这个data",data) |
| | | faces = append(faces, data) |
| | | } |
| | | } |
| | | } |
| | | log.Println("-----------------------------------------------听说你是空的?",faces) |
| | | return faces |
| | | } |
| | | |
| | | // 计算区域内的目标数量以及将相似度、占比、尺寸等打包 |