panlei
2019-12-17 eb6f08d1eea2430383ad486eca9d3a509db344bf
algorithm/personTrack/personTrack.go
@@ -8,11 +8,11 @@
   "strconv"
   "time"
   "basic.com/valib/logger.git"
   "github.com/knetic/govaluate"
   "nanomsg.org/go-mangos"
   "nanomsg.org/go-mangos/protocol/req"
   "nanomsg.org/go-mangos/transport/tcp"
   "github.com/knetic/govaluate"
   "basic.com/valib/logger.git"
   "basic.com/pubsub/protomsg.git"
   "ruleprocess/structure"
@@ -76,16 +76,16 @@
      }
      am.TargetNum = len(am.FilterData) // 把符合条件的目标数量更新到targetNum字段
      if am.TargetNum > 0 {
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
      } else {
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
      }
   } else if rule.SdkArgAlias == "" {
      if am.TargetNum > 0 {
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
      } else {
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
         return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
      }
   }
   return structure.LittleRuleResult{}
@@ -98,17 +98,16 @@
   trackArg["esId"] = esId
   trackArg["threshold"] = compareThreshold
   trackArg["cameraId"] = am.CameraId
   trackArg["bodyFeature"] = arg.BodyFeature
   trackArg["bodyFeature"] = arg.Feature
   trackArg["faceFeature"]   = arg.AttachArg.Feature
   logger.Info("请求张增飞比对数据参数:",trackArg)
   b,err := json.Marshal(trackArg)
   if err != nil {
      logger.Error("json序列化错误", err)
   }
   dataId := getCompareMsg(b)
   if esId == dataId { // 说明没比到相似的人
   if esId == dataId || dataId == ""{ // 说明没比到相似的人
      logger.Info("没比到人")
      arg.Uuid = dataId
      arg.Uuid = esId
   } else {
      logger.Info("比对出来的dataId:",dataId)
      base := structure.BaseInfo{TargetId:dataId}
@@ -123,7 +122,7 @@
   }
   for _, arg := range am.FilterData {
      fillLiker(threshold,arg,am)
      logger.Info("比完之后的数据追踪数据是:",arg)
      //logger.Info("比完之后的数据追踪数据是:",arg)
      //if len(arg.Liker) == 0 {
      //   // 如果没有相似者则删除本目标数据
      //   am.FilterData = append(am.FilterData[:i],am.FilterData[i+1:]...)
@@ -135,7 +134,7 @@
   //   return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
   //}
   // 无论有没有相似者都要返回true
   return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
   return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,nil}
}
func Push(){
@@ -169,7 +168,9 @@
   for {
      select {
      case data := <- sender:
         logger.Debug("推送数据:",len(data))
         //trackMap := make(map[string]interface{})
         //_ = json.Unmarshal(data, &trackMap)
         //logger.Info("请求张增飞比对数据参数:",trackMap)
         if err = sock.Send(data); err != nil {
            logger.Error("推送socket发送数据失败: %s", err.Error())
         }