| | |
| | | } |
| | | i := protomsg.Image{} |
| | | err = proto.Unmarshal(bdata, &i) |
| | | //logger.Info("-------------------------------------------看下宽和高", i.Width, i.Height) |
| | | logger.Info("-------------------------------------------看下宽和高", int(face.Location.X),int(face.Location.Y),int(face.Location.X+face.Location.Width),int(face.Location.Y+face.Location.Height)) |
| | | bytes := util.SubImg(i, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height)) |
| | | resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String()) |
| | | if err != nil { |
| | |
| | | } |
| | | } |
| | | } |
| | | if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]ruleserver.Result)) > 0 { |
| | | logger.Info("往ES插yolo数据") |
| | | var sdkNames string = "" |
| | | alarmRules := []AlarmRule{} |
| | | for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) { |
| | | sdkNames = sdkNames + yoloResult.SdkName |
| | | alarm := ChangeToString(yoloResult.AlarmLevel) |
| | | alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText}) |
| | | } |
| | | isAlarm := 0 |
| | | resp := make(map[string]interface{}) |
| | | if len(alarmRules) > 0 { |
| | | isAlarm = 1 |
| | | // 解压缩并上传图片 |
| | | bdata, err := util.UnCompress(msg.Data) |
| | | if err != nil { |
| | | panic("解压缩图片时出现错误") |
| | | } |
| | | i := protomsg.Image{} |
| | | err = proto.Unmarshal(bdata, &i) |
| | | //resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String()) |
| | | resp, err = util.DrawPolygonOnImage(msg.Cid, i,msg.RuleResult["yolo"].([]ruleserver.Result)) |
| | | if err != nil { |
| | | logger.Error("画框或上传图片服务器出错", err) |
| | | } else { |
| | | logger.Info("已报警并上传改帧图片到服务器") |
| | | } |
| | | } else { |
| | | isAlarm = 0 |
| | | // 不是报警数据不存 |
| | | return |
| | | } |
| | | // logger.Println("图片上传返回值:", resp) |
| | | // 查询本机信息 |
| | | localConfig, err := cache.GetServerInfo() |
| | | if err != nil { |
| | | logger.Error("查询本机信息失败!") |
| | | } |
| | | // 查询cameraName |
| | | camera, err := cache.GetCameraById(msg.Cid) |
| | | if err != nil { |
| | | logger.Error("查询摄像机信息失败") |
| | | } |
| | | serverIp, err := GetLocalIP() |
| | | peraction := Personaction{ |
| | | uuid.NewV4().String(), |
| | | msg.Cid, |
| | | camera.Name, |
| | | camera.Addr, |
| | | msg.Tasklab.Taskid, |
| | | msg.Tasklab.Taskname, |
| | | sdkNames, |
| | | "", |
| | | alarmRules, |
| | | localConfig.ServerId, |
| | | localConfig.ServerName, |
| | | serverIp, |
| | | "", |
| | | []string{strings.Split(resp["fileUrl"].(string), "/")[1]}, |
| | | time.Now().Format("2006-01-02 15:04:05"), |
| | | "", |
| | | isAlarm, |
| | | 0, |
| | | 0, |
| | | 0, |
| | | } |
| | | requstbody, err := json.Marshal(peraction) |
| | | |
| | | if err != nil { |
| | | logger.Info("json parse error ", err) |
| | | return |
| | | |
| | | } |
| | | err = EsReq("POST", "http://192.168.1.182:9200/personaction/perVideoAction", requstbody) |
| | | if err != nil { |
| | | logger.Error("往ES插入数据失败", err) |
| | | } else { |
| | | logger.Info("__________________________________________往ES插入yolo数据成功") |
| | | } |
| | | } |
| | | //if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]ruleserver.Result)) > 0 { |
| | | // logger.Info("往ES插yolo数据") |
| | | // var sdkNames string = "" |
| | | // alarmRules := []AlarmRule{} |
| | | // for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) { |
| | | // sdkNames = sdkNames + yoloResult.SdkName |
| | | // alarm := ChangeToString(yoloResult.AlarmLevel) |
| | | // alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText}) |
| | | // } |
| | | // isAlarm := 0 |
| | | // resp := make(map[string]interface{}) |
| | | // if len(alarmRules) > 0 { |
| | | // isAlarm = 1 |
| | | // // 解压缩并上传图片 |
| | | // bdata, err := util.UnCompress(msg.Data) |
| | | // if err != nil { |
| | | // panic("解压缩图片时出现错误") |
| | | // } |
| | | // i := protomsg.Image{} |
| | | // err = proto.Unmarshal(bdata, &i) |
| | | // //resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String()) |
| | | // resp, err = util.DrawPolygonOnImage(msg.Cid, i,msg.RuleResult["yolo"].([]ruleserver.Result)) |
| | | // if err != nil { |
| | | // logger.Error("画框或上传图片服务器出错", err) |
| | | // } else { |
| | | // logger.Info("已报警并上传改帧图片到服务器") |
| | | // } |
| | | // } else { |
| | | // isAlarm = 0 |
| | | // // 不是报警数据不存 |
| | | // return |
| | | // } |
| | | // // logger.Println("图片上传返回值:", resp) |
| | | // // 查询本机信息 |
| | | // localConfig, err := cache.GetServerInfo() |
| | | // if err != nil { |
| | | // logger.Error("查询本机信息失败!") |
| | | // } |
| | | // // 查询cameraName |
| | | // camera, err := cache.GetCameraById(msg.Cid) |
| | | // if err != nil { |
| | | // logger.Error("查询摄像机信息失败") |
| | | // } |
| | | // serverIp, err := GetLocalIP() |
| | | // peraction := Personaction{ |
| | | // uuid.NewV4().String(), |
| | | // msg.Cid, |
| | | // camera.Name, |
| | | // camera.Addr, |
| | | // msg.Tasklab.Taskid, |
| | | // msg.Tasklab.Taskname, |
| | | // sdkNames, |
| | | // "", |
| | | // alarmRules, |
| | | // localConfig.ServerId, |
| | | // localConfig.ServerName, |
| | | // serverIp, |
| | | // "", |
| | | // []string{strings.Split(resp["fileUrl"].(string), "/")[1]}, |
| | | // time.Now().Format("2006-01-02 15:04:05"), |
| | | // "", |
| | | // isAlarm, |
| | | // 0, |
| | | // 0, |
| | | // 0, |
| | | // } |
| | | // requstbody, err := json.Marshal(peraction) |
| | | // |
| | | // if err != nil { |
| | | // logger.Info("json parse error ", err) |
| | | // return |
| | | // |
| | | // } |
| | | // err = EsReq("POST", "http://192.168.1.182:9200/personaction/perVideoAction", requstbody) |
| | | // if err != nil { |
| | | // logger.Error("往ES插入数据失败", err) |
| | | // } else { |
| | | // logger.Info("__________________________________________往ES插入yolo数据成功") |
| | | // } |
| | | //} |
| | | } |
| | | |
| | | // 获取本机ip |