| | |
| | | panic("解压缩图片时出现错误") |
| | | } |
| | | alarmRules := []AlarmRule{} |
| | | alarm := ChangeToString(faceResult.AlarmLevel) |
| | | alarm := ChangeToString(faceResult.DefenceState,faceResult.AlarmLevel) |
| | | alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText}) |
| | | i := protomsg.Image{} |
| | | err = proto.Unmarshal(bdata, &i) |
| | |
| | | alarmRules := []AlarmRule{} |
| | | for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) { |
| | | sdkNames = sdkNames + yoloResult.SdkName |
| | | alarm := ChangeToString(yoloResult.AlarmLevel) |
| | | alarm := ChangeToString(yoloResult.DefenceState,yoloResult.AlarmLevel) |
| | | alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText}) |
| | | } |
| | | isAlarm := 0 |
| | |
| | | } |
| | | |
| | | // 把报警等级转化成汉字 |
| | | func ChangeToString(i int32) string { |
| | | func ChangeToString(defenceState bool,i int32) string { |
| | | alarm := "" |
| | | if i == 1 { |
| | | alarm = "一级" |
| | | if defenceState { |
| | | if i == 1 { |
| | | alarm = "一级" |
| | | } |
| | | if i == 2 { |
| | | alarm = "二级" |
| | | } |
| | | if i == 3 { |
| | | alarm = "三级" |
| | | } |
| | | if i == 4 { |
| | | alarm = "四级" |
| | | } |
| | | if i == 5 { |
| | | alarm = "五级" |
| | | } |
| | | } else { |
| | | alarm = "撤防" |
| | | } |
| | | if i == 2 { |
| | | alarm = "二级" |
| | | } |
| | | if i == 3 { |
| | | alarm = "三级" |
| | | } |
| | | if i == 4 { |
| | | alarm = "四级" |
| | | } |
| | | if i == 5 { |
| | | alarm = "五级" |
| | | } |
| | | |
| | | return alarm |
| | | } |
| | | |
| | |
| | | TaskId string // 任务id |
| | | SdkName string |
| | | RuleGroupId string // 规则组id |
| | | DefenceState bool //是否布防 |
| | | AlarmLevel int32 // 报警等级 |
| | | RuleText string // 文字版规则组 |
| | | Location []Rect // 目标的坐标 |
| | |
| | | } |
| | | logger.Debug("------locations的内容:", locations) |
| | | if sdkNames != "" { |
| | | args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId}) |
| | | args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId}) |
| | | logger.Info("-------------------yolo结果标签长度", len(args.RuleResult["yolo"].([]Result))) |
| | | } |
| | | if faceFlag { |
| | | args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces}) |
| | | args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces}) |
| | | logger.Info("-------------------face结果标签", len(args.RuleResult["face"].([]FaceResult))) |
| | | } |
| | | // 最后过持续时间等时间维度的条件 把时间规则位置调整到这个位置是为了缓存数据 |