| | |
| | | } |
| | | } |
| | | } |
| | | // 过完条件数据后把符合条件的人脸数据塞进结果标签里 |
| | | faces := []Arg{} |
| | | for _, sdkData := range args.Sdkdata { |
| | | for _, areaMap := range sdkData.AreaMapList { |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | | faces = append(faces, putFaceToResult(groupRule.Rules[j], &areaMap)...) |
| | | } |
| | | } |
| | | } |
| | | // 配了人脸的算法才把人脸的数据甩出来打标签 |
| | | 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 { |
| | |
| | | } |
| | | return false |
| | | } else { |
| | | // 最后成功报警才把符合条件的人脸数据塞进结果标签里 |
| | | faces := []Arg{} |
| | | for _, sdkData := range args.Sdkdata { |
| | | for _, areaMap := range sdkData.AreaMapList { |
| | | for j := 0; j < len(groupRule.Rules); j++ { |
| | | faces = append(faces, putFaceToResult(groupRule.Rules[j], &areaMap)...) |
| | | } |
| | | } |
| | | } |
| | | // 配了人脸的算法才把人脸的数据甩出来打标签 |
| | | flag11 := 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" { |
| | | flag11 = true |
| | | } |
| | | } |
| | | if flag11 { |
| | | args.RuleResult["face"] = faces |
| | | } |
| | | // 去看池子里是否有与本帧数据有关的定时器,如果有,看此时是否走到0,没有此定时器或有定时器走到0的话返回成功报警 |
| | | var flag bool = true |
| | | for k, timeEle := range TimeEleList { |