| | |
| | | package insertdata |
| | | |
| | | import ( |
| | | "basic.com/valib/logger.git" |
| | | "ruleprocess/logger" |
| | | "encoding/base64" |
| | | "encoding/json" |
| | | "errors" |
| | |
| | | IsAckAlarm int `json:"isAckAlarm"` |
| | | IsCollect int `json:"isCollect"` |
| | | IsDelete int `json:"isDelete"` |
| | | TargetInfo []Target |
| | | } |
| | | |
| | | type AlarmRule struct { |
| | |
| | | panic("解压缩图片时出现错误") |
| | | } |
| | | alarmRules := []AlarmRule{} |
| | | logger.Warn("人脸id为:", face.Id, "人脸的规则长度为:", len(face.rules)) |
| | | //logger.Warn("人脸id为:", face.Id, "人脸的规则长度为:", len(face.rules)) |
| | | //os.Exit(1) |
| | | for _, faceResult := range face.rules { |
| | | alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel) |
| | |
| | | target.TargetScore = face.Score |
| | | target.TargetLocation = Points{TopLeft:Point{face.Location.X,face.Location.Y},BottomRight:Point{face.Location.X+face.Location.Width,face.Location.Y+face.Location.Height}} |
| | | //logger.Info("人脸的id:",strconv.FormatUint(face.Id, 10)) |
| | | //logger.Info("人脸的分值:",face.Score) |
| | | pervideo := PerVideoPicture{ |
| | | esDataId, |
| | | msg.Cid, |
| | |
| | | func hebingFace(faces []*FaceAndRules, faceResult structure.FaceResult) []*FaceAndRules { |
| | | for _, arg := range faceResult.Args { |
| | | // 拿到每一张人脸 |
| | | logger.Info("归置人脸时相似者的数量:", len(arg.Liker)) |
| | | //logger.Info("归置人脸时相似者的数量:", len(arg.Liker)) |
| | | flag := false |
| | | for _, face := range faces { |
| | | for _, lik := range face.Liker { |
| | | logger.Warn("--------合并人脸时相似者:", lik.PersonId, lik.TableName) |
| | | } |
| | | //for _, lik := range face.Liker { |
| | | // //logger.Warn("--------合并人脸时相似者:", lik.PersonId, lik.TableName) |
| | | //} |
| | | if arg.Id == face.Id { |
| | | flag = true |
| | | face.rules = append(face.rules, faceResult.Result) |
| | |
| | | logger.Info("往ES插yolo数据") |
| | | var sdkNames string = "" |
| | | alarmRules := []AlarmRule{} |
| | | var targetInfos []Target |
| | | url := []string{} |
| | | for _, yoloResult := range msg.RuleResult["yolo"].([]structure.Result) { |
| | | if yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10" { |
| | |
| | | if resp1["fileUrl"] != nil { |
| | | url = append(url, resp1["fileUrl"].(string)) |
| | | } |
| | | } |
| | | } |
| | | // 装配目标信息数据 |
| | | for _,target := range yoloResult.Location { |
| | | // 去重添加 |
| | | //logger.Info("装配前的原始数据是:",target) |
| | | var flag = true |
| | | for _,selectTarget := range targetInfos { |
| | | if strconv.FormatUint(target.TargetId, 10) == selectTarget.TargetId { |
| | | flag = false |
| | | break |
| | | } |
| | | } |
| | | if flag { |
| | | var target1 = new(Target) |
| | | target1.TargetId = strconv.FormatUint(target.TargetId, 10) |
| | | target1.TargetScore = target.TargetScore |
| | | target1.TargetLocation = Points{TopLeft:Point{target.X,target.Y},BottomRight:Point{target.X+target.Width,target.Y+target.Height}} |
| | | targetInfos = append(targetInfos,*target1) |
| | | } |
| | | } |
| | | } |
| | |
| | | if err != nil { |
| | | logger.Error("查询摄像机信息失败") |
| | | } |
| | | |
| | | serverIp, err := GetLocalIP() |
| | | if resp["fileUrl"] != nil { |
| | | url = append(url, resp["fileUrl"].(string)) |
| | |
| | | 0, |
| | | 0, |
| | | 0, |
| | | targetInfos, |
| | | } |
| | | requstbody, err := json.Marshal(peraction) |
| | | |