---
panlei
2019-07-29 0f84e961cb5a86c8527ac5918548891ba38c1cff
---
1个文件已修改
14 ■■■■■ 已修改文件
ruleserver/personTrack.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("---------------------------------------追踪结束--------------------------------------")
}