---
panlei
2019-07-29 859b9d732599733157300046c0893e084f738588
ruleserver/personTrack.go
@@ -16,11 +16,11 @@
   Id    uint64
   Score float32
}
var num int = 5
// 检查是否前后两次的数据id是否完全相同(人脸和yolo)     改为直接检查数量是否一致
func IsSame(msg *protomsg.SdkMessage) {
   logger.Debug("+++++++++++++++++++++追踪开始+++++++++++++++摄像机id为:", msg.Cid)
   logger.Debug("---------------------缓存池--------------------------:", TrackPond)
   logger.Debug("+++++++++++++++++++++追踪开始+++++++++++++++摄像机id为:", msg.Cid, "---缓存池为:", TrackPond)
   for _, sdkinfo := range msg.Tasklab.Sdkinfos { // 遍历各算法的sdkData
      if sdkinfo.Sdktype == "FaceDetect" { // 人脸检测
         logger.Info("数据长度为:", len(sdkinfo.Sdkdata))
@@ -29,7 +29,7 @@
            FaceIsInPond(msg.Cid, sdkinfo)
         } else {
            if num > 0 { // 连续num次没有数据才算是没有数据,不然只算作丢帧
               logger.Info("我认为你只是丢帧了")
               logger.Info("我认为你只是丢帧了,此时的num值为:",num)
               num--
            } else {
               if TrackPond[msg.Cid] != nil {
@@ -46,7 +46,6 @@
      }
      if sdkinfo.Sdktype == "Yolo" {
         if len(sdkinfo.Sdkdata) > 1 {
            num = 5
            yoloParam := protomsg.ParamYoloObj{}
            err := proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam)
            if err != nil {
@@ -81,10 +80,6 @@
               }
            }
         } else {
            if num > 0 {
               logger.Info("我认为你只是丢帧了")
               num--
            } else {
               if TrackPond[msg.Cid] != nil {
                  TrackPond[msg.Cid].Yolo = 0
               } else {
@@ -92,7 +87,6 @@
               }
               logger.Info("摄像机:" + msg.Cid + "-没有yolo,被重置为0")
               continue
            }
         }
      }
   }