panlei
2019-09-12 850fa0faa05d7cf4e5950915e5597215f021a8cd
change default score value 0.8 to 80
2个文件已修改
248 ■■■■■ 已修改文件
insertdata/insertDataToEs.go 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/readyDataForRule.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
insertdata/insertDataToEs.go
@@ -478,155 +478,6 @@
        }
    }
}
func ChangeStatusYolo(msg ruleserver.ResultMsg) {
    logger.Info("往ES插yolo非报警状态改变数据")
    var sdkNames string = ""
    alarmRules := []AlarmRule{}
    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), weedfsUrl)
    if err != nil {
        logger.Error("画框或上传图片服务器出错", err)
    } else {
        logger.Info("上传的图片信息:", resp)
    }
    // 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()
    esDataId := uuid.NewV4().String()
    peraction := Personaction{
        esDataId,
        msg.Cid,
        camera.Name,
        camera.Addr,
        msg.Tasklab.Taskid,
        msg.Tasklab.Taskname,
        sdkNames,
        "yolo非报警状态改变数据",
        alarmRules,
        localConfig.ServerId,
        localConfig.ServerName,
        serverIp,
        "",
        []string{resp["fileUrl"].(string)},
        i.Timestamp,
        "",
        "",
        0,
        0,
        0,
        0,
    }
    requstbody, err := json.Marshal(peraction)
    if err != nil {
        logger.Info("json parse error ", err)
        return
    }
    resp1, err1 := EsReq("POST", personAction, requstbody)
    if err1 != nil {
        logger.Error("往ES插入数据失败", err)
    } else {
        logger.Info("插入es返回的信息:", resp1)
        // 发出录像信号
        ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 2})
        logger.Warn("__________________________________________往ES插入yolo数据成功")
        //os.Exit(1)
    }
}
func ChangeStatusFace(msg ruleserver.ResultMsg) {
    logger.Info("往ES插入人脸非报警但是状态转换数据")
    // 上传大图
    // 解压缩并上传图片
    bdata, err := util.UnCompress(msg.Data)
    if err != nil {
        panic("解压缩图片时出现错误")
    }
    i := protomsg.Image{}
    err = proto.Unmarshal(bdata, &i)
    bigPhotoUrl := make(map[string]interface{})
    bigPhotoUrl, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
    logger.Debug("========大图路径:", bigPhotoUrl)
    // 人脸检测,没有相似的底库人员
    localConfig, err := cache.GetServerInfo()
    if err != nil {
        logger.Error("查询本机信息失败!")
    }
    serverIp, err := GetLocalIP()
    // 查询cameraName
    camera, err := cache.GetCameraById(msg.Cid)
    if err != nil {
        logger.Error("查询摄像机信息失败")
    }
    esDataId := uuid.NewV4().String()
    pervideo := PerVideoPicture{
        esDataId,
        msg.Cid,
        camera.Addr,
        i.Timestamp,
        bigPhotoUrl["fileUrl"].(string),
        msg.Tasklab.Taskid,
        msg.Tasklab.Taskname,
        "人脸",
        "状态转换数据,非报警数据",
        []AlarmRule{},
        time.Now().Format("2006-01-02 15:04:05"), // 只检测,没有比对时间
        "",
        0,
        "",
        "",
        0,
        0,
        "",
        []string{""},
        "暂无集群",
        localConfig.ServerId,
        localConfig.ServerName,
        serverIp,
        "",
        "",
        0,
        1,
        0,
        0,
        0,
        []*ruleserver.BaseInfo{},
    }
    requstbody, err := json.Marshal(pervideo)
    if err != nil {
        logger.Info("json parse error ", err)
        return
    }
    resp1, err1 := EsReq("POST", videoPersonUrl, requstbody)
    if err1 != nil {
        logger.Error("上传ES出错!---", err1)
    } else {
        logger.Info("插入es返回的信息:", resp1)
        // 发出录像信号
        ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 1})
    }
    //if msg.RuleResult["cacheData"] != nil {
    //    InsertFace(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
    //}
}
// 获取本机ip
func GetLocalIP() (ipv4 string, err error) {
@@ -710,100 +561,3 @@
    }
    return race
}
//for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
//    for _, face := range faceResult.Args {
//        // 上传大图
//        // 解压缩并上传图片
//        bdata, err := util.UnCompress(msg.Data)
//        if err != nil {
//            panic("解压缩图片时出现错误")
//        }
//        alarmRules := []AlarmRule{}
//        alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
//        alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState})
//        i := protomsg.Image{}
//        err = proto.Unmarshal(bdata, &i)
//        bigPhotoUrl := make(map[string]interface{})
//        bigPhotoUrl, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
//        logger.Debug("========大图路径:", bigPhotoUrl)
//        // 人脸检测,没有相似的底库人员
//        localConfig, err := cache.GetServerInfo()
//        if err != nil {
//            logger.Error("查询本机信息失败!")
//        }
//        serverIp, err := GetLocalIP()
//        // 查询cameraName
//        camera, err := cache.GetCameraById(msg.Cid)
//        if err != nil {
//            logger.Error("查询摄像机信息失败")
//        }
//        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 {
//            logger.Error("上传小图出错")
//        }
//        logger.Info("================小图地址:", resp["fileUrl"].(string))
//        sex := ""
//        if face.ThftRes.Gender == 1 {
//            sex = "男"
//        } else {
//            sex = "女"
//        }
//        race := getRaceString(face.ThftRes.Race)
//        ageDescription := getDescription(face.ThftRes.Age)
//        esDataId := uuid.NewV4().String()
//        linksId := ""
//        if linkId != "" {
//            linksId = linkId
//        }
//        pervideo := PerVideoPicture{
//            esDataId,
//            msg.Cid,
//            camera.Addr,
//            i.Timestamp,
//            strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
//            msg.Tasklab.Taskid,
//            msg.Tasklab.Taskname,
//            "人脸",
//            "",
//            alarmRules,
//            time.Now().Format("2006-01-02 15:04:05"), // 只检测,没有比对时间
//            sex,
//            face.ThftRes.Age,
//            ageDescription,
//            race,
//            face.ThftRes.Smile,
//            face.ThftRes.Beauty,
//            base64.StdEncoding.EncodeToString(face.Feature),
//            []string{strings.Split(resp["fileUrl"].(string), "/")[1]},
//            "暂无集群",
//            localConfig.ServerId,
//            localConfig.ServerName,
//            serverIp,
//            "",
//            linksId,
//            face.Score,
//            1,
//            0,
//            0,
//            0,
//            face.Liker,
//        }
//        requstbody, err := json.Marshal(pervideo)
//
//        if err != nil {
//            logger.Info("json parse error ", err)
//            return
//        }
//        resp1, err1 := EsReq("POST", videoPersonUrl, requstbody)
//        if err1 != nil {
//            logger.Error("上传ES出错!---", err1)
//        } else {
//            logger.Info("插入es返回的信息:", resp1)
//            // 发出录像信号
//            ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 1})
//        }
//    }
//}
ruleserver/readyDataForRule.go
@@ -297,7 +297,7 @@
func (a *AreaMap) CountAreaObjs(arg *SdkData) {
    a.targetNum = 0
    threshold := 0.8       // 相似度
    threshold := 80.0       // 相似度
    intersectionper := 0.2 // 占比
    size := 0.0            // 尺寸