| | |
| | | "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["face"] = faces |
| | | // 配了人脸的算法才把人脸的数据甩出来打标签 |
| | | flag := false |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | | if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a971" { |
| | | flag = true |
| | | } |
| | | } |
| | | if flag { |
| | | args.RuleResult["face"] = faces |
| | | } |
| | | // 再过其他数据 这步直接得到结果(真或假) 过目标数量 |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | | for _, sdkData := range args.Sdkdata { |
| | |
| | | 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) { |
| | | if rule.SdkId == am.sdkId { |
| | | func putFaceToResult(rule *protomsg.Rule, am *AreaMap) []Arg { |
| | | faces := []Arg{} |
| | | if rule.SdkId == am.sdkId && rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a971"{ |
| | | if len(am.filterData) > 0 { |
| | | for _, data := range am.filterData { |
| | | faces = append(faces, data) |
| | | } |
| | | } |
| | | } |
| | | //log.Println("-----------------------------------------------听说你是空的?",faces) |
| | | return faces |
| | | } |
| | | |
| | | // 计算区域内的目标数量以及将相似度、占比、尺寸等打包 |