| | |
| | | for i := 0; i < len(faceParam.Faces); { |
| | | faceFlag := false |
| | | for _, val := range TrackPond[cameraId].Faces { |
| | | //if faceParam.Faces[i].Pos.FaceID == val.Id && faceParam.Faces[i].Pos.FAngle.Confidence <= val.Score { // 在池子里并且分值更低,是要抛弃的数据 |
| | | // faceFlag = true |
| | | // //return "true" |
| | | // faceParam.Faces = append(faceParam.Faces[:i], faceParam.Faces[i+1:]...) |
| | | // logger.Info("此数据由于在池子中且分值更低,是要被抛弃的数据") |
| | | // break |
| | | //} |
| | | if faceParam.Faces[i].Pos.FaceID == val.Id && faceParam.Faces[i].Pos.FAngle.Confidence <= val.Score { // 在池子里并且分值更低,是要抛弃的数据 |
| | | faceFlag = true |
| | | //return "true" |
| | | faceParam.Faces = append(faceParam.Faces[:i], faceParam.Faces[i+1:]...) |
| | | logger.Info("此数据由于在池子中且分值更低,是要被抛弃的数据") |
| | | break |
| | | } |
| | | if faceParam.Faces[i].Pos.FaceID == val.Id && faceParam.Faces[i].Pos.FAngle.Confidence > val.Score { // 在池子里并且分值更高,更新缓存 |
| | | faceFlag = true |
| | | logger.Info("分值由", val.Score, "更新为:", faceParam.Faces[i].Pos.FAngle.Confidence, "此数据由于在池子中且分值更高,是要被传递下去的数据") |
| | |
| | | i++ |
| | | } |
| | | } |
| | | // 反向循环 ,看那些缓存有而数据没有的 |
| | | // 反向循环 ,看那些缓存有而数据没有的就删除数据更新缓存 |
| | | for i := 0; i < len(TrackPond[cameraId].Faces); { |
| | | flag := false |
| | | for _, temp := range facesTemp { |