---
panlei
2019-07-29 0f84e961cb5a86c8527ac5918548891ba38c1cff
ruleserver/personTrack.go
@@ -16,7 +16,7 @@
   Id    uint64
   Score float32
}
var num int = 5
// 检查是否前后两次的数据id是否完全相同(人脸和yolo)     改为直接检查数量是否一致
func IsSame(msg *protomsg.SdkMessage) {
   logger.Debug("+++++++++++++++++++++追踪开始+++++++++++++++摄像机id为:", msg.Cid)
@@ -25,7 +25,12 @@
      if sdkinfo.Sdktype == "FaceDetect" { // 人脸检测
         logger.Info("数据长度为:", len(sdkinfo.Sdkdata))
         if len(sdkinfo.Sdkdata) > 1 {
            num = 5
            FaceIsInPond(msg.Cid, sdkinfo)
         } else {
            if num > 0 { // 连续num次没有数据才算是没有数据,不然只算作丢帧
               logger.Info("我认为你只是丢帧了")
               num--
         } else {
            if TrackPond[msg.Cid] != nil {
               logger.Info("如果不为空:", TrackPond[msg.Cid])
@@ -38,8 +43,10 @@
            continue
         }
      }
      }
      if sdkinfo.Sdktype == "Yolo" {
         if len(sdkinfo.Sdkdata) > 1 {
            num = 5
            yoloParam := protomsg.ParamYoloObj{}
            err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
            if err != nil {
@@ -74,6 +81,10 @@
               }
            }
         } else {
            if num > 0 {
               logger.Info("我认为你只是丢帧了")
               num--
            } else {
            if TrackPond[msg.Cid] != nil {
               TrackPond[msg.Cid].Yolo = 0
            } else {
@@ -84,6 +95,7 @@
         }
      }
   }
   }
   logger.Debug("---------------------------------------追踪结束--------------------------------------")
}