panlei
2019-07-17 41461b1a2d1204c207b44de9c397d16af780104f
过滤一下yolo
2个文件已修改
16 ■■■■ 已修改文件
main.go 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/personTrack.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.go
@@ -142,14 +142,16 @@
                    logger.Info("解析YOLO sdk数据时出现错误", err)
                    continue
                }
                logger.Info("--------------追踪之后yolo的个数:",len(yoloParam.Infos))
                var yoloNum int = 0
                for _, info := range yoloParam.Infos {
                    if info.Typ == 0 {
                        //logger.Debug("-------------yolo的坐标有几个",info.RcObj)
                        photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.RcObj), Score: float64(info.Prob)*100,IsYolo:true}
                        arg.Photo = append(arg.Photo, photoMap)
                        yoloNum++
                    }
                }
                logger.Info("--------------追踪之后yolo的个数:",len(yoloParam.Infos))
                args.Sdkdata = append(args.Sdkdata,&arg)
            } else {
                continue
ruleserver/personTrack.go
@@ -59,15 +59,21 @@
                    logger.Info("解析yolo数据时出现错误", err)
                    continue
                }
                logger.Info("================追踪之前yolo的个数:",len(yoloParam.Infos))
                if yoloParam.Infos != nil && TrackPond[msg.Cid] != nil && len(yoloParam.Infos) == TrackPond[msg.Cid].Yolo { // yolo的如果数量相同则视为不变、把yolo的sdkData清空
                var yoloNum int = 0
                for i := 0;i < len(yoloParam.Infos); i++ {
                    if yoloParam.Infos[i].Typ == 0 {
                        yoloNum++
                    }
                }
                logger.Info("================追踪之前yolo的个数:",yoloNum)
                if yoloParam.Infos != nil && TrackPond[msg.Cid] != nil && yoloNum == TrackPond[msg.Cid].Yolo { // yolo的如果数量相同则视为不变、把yolo的sdkData清空
                    yoloParam.Infos = (yoloParam.Infos)[0:0]
                    sdkinfo.Sdkdata,err = proto.Marshal(&yoloParam)
                    if err != nil {
                        logger.Error("yolo序列化错误",err)
                    }
                } else {
                    TrackPond[msg.Cid] = &PersonTrack{Yolo:len(yoloParam.Infos)}
                    TrackPond[msg.Cid] = &PersonTrack{Yolo:yoloNum}
                }
            } else {
                continue