| | |
| | | completeFormula = completeFormula[1:] |
| | | } |
| | | logger.Info("-------------------看看拔毛后的表达式:", completeFormula) |
| | | expression, _ := govaluate.NewEvaluableExpression(completeFormula) |
| | | result, _ := expression.Evaluate(nil) // 得到数学公式的结果 |
| | | return result.(bool) |
| | | //expression, _ := govaluate.NewEvaluableExpression(completeFormula) |
| | | //result, _ := expression.Evaluate(nil) // 得到数学公式的结果 |
| | | //return result.(bool) |
| | | } |
| | | if completeFormula != "" { |
| | | logger.Info("结果公式-----------:", completeFormula) |
| | |
| | | tempMap := make(map[string]interface{}) |
| | | for k,result := range args.RuleResult { |
| | | if k == "yolo" { |
| | | tempMap[k] = []Result{} |
| | | for _,res := range result.([]Result) { |
| | | tempMap[k] = append(tempMap[k].([]Result),res) |
| | | } |
| | | } |
| | | if k == "face" { |
| | | tempMap[k] = []FaceResult{} |
| | | for _,res := range result.([]FaceResult) { |
| | | tempMap[k] = append(tempMap[k].([]FaceResult),res) |
| | | } |
| | | } |
| | | tempMap[k] = result |
| | | } |
| | | for _,result := range args.RuleResult["yolo"].([]Result) { |
| | | logger.Warn("放进联动缓存的长度是",len(result.LinkCache)) |
| | | } |
| | | va.CacheData = ResultMsg{message,tempMap} |
| | | logger.Info("这个摄像机--", args.CameraId, "--被赋予了result", va.Result) |
| | |
| | | label.LinkCache = append(label.LinkCache,ruleRes.CacheData) |
| | | } |
| | | logger.Debug("联动任务缓存了几个数据",len(label.LinkCache)) |
| | | //for _,result := range args.RuleResult["yolo"].([]Result) { |
| | | // if result.RuleGroupId == groupRule.GroupId { |
| | | // result.Others["linkCache"] = label |
| | | // } |
| | | //} |
| | | for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++ { |
| | | if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把原来那个删掉再存一份新的 |
| | | if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上 |
| | | args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache |
| | | } |
| | | } |
| | | for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ { |
| | | if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 把联动数据追加上 |
| | | args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | am.targetNum = len(am.filterData) // 把符合条件的目标数量更新到targetNum字段 |
| | | logger.Info("-------------人脸目标数量:",am.targetNum) |
| | | } |
| | | if am.targetNum > 0 { |
| | | logger.Info("!!!!!!!!!人脸检测成功") |