| | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/pubsub/sdkcompare.git" |
| | | "encoding/json" |
| | | "fmt" |
| | | "ruleprocess/cache" |
| | | "ruleprocess/logger" |
| | | "strconv" |
| | |
| | | bigCache.Init() |
| | | } |
| | | |
| | | type BaseInfo struct { |
| | | TableId string `json:"tableId"` |
| | | TableName string `json:"tableName"` |
| | | BwType string `json:"bwType"` |
| | | CompareScore float64 `json:"compareScore"` |
| | | PersonId string `json:"personId"` |
| | | PersonName string `json:"personName"` |
| | | PersonPicUrl string `json:"personPicUrl"` |
| | | PhoneNum string `json:"phoneNum"` |
| | | Sex string `json:"sex"` |
| | | IdCard string `json:"idCard"` |
| | | MonitorLevel string `json:"monitorLevel"` |
| | | Content string `json:"content"` |
| | | } |
| | | // 以摄像机id查出跟其相关的所有任务下的所有规则组 |
| | | func GetRuleGroup(cameraId string) []*protomsg.TaskGroupArgs { |
| | | func GetRuleGroup(cameraId string,taskId string) *protomsg.TaskGroupArgs { |
| | | all := cache.GetCameraTaskRulesByCameraId(cameraId) |
| | | return all |
| | | logger.Info("==================所有的任务的规则组:",all) |
| | | var taskGroup *protomsg.TaskGroupArgs |
| | | for _,task := range all { |
| | | if task.TaskId == taskId { |
| | | taskGroup = task |
| | | } |
| | | } |
| | | return taskGroup |
| | | } |
| | | // 根据摄像机id拿到摄像机所有区域 |
| | | func GetPolygons(cameraId string) []protomsg.CameraPolygon { |
| | |
| | | |
| | | // 给目标填充liker |
| | | func (arg *Arg) fillLiker() { |
| | | bytes := sdkcompare.GetComparePersonBaseInfo(nil, arg.Feature, 70) |
| | | bytes := sdkcompare.GetComparePersonBaseInfo(nil, arg.Feature, 40) |
| | | var m map[string]float32 |
| | | err1 := json.Unmarshal(bytes, &m) |
| | | if err1 != nil { |
| | |
| | | for key,_ := range m { |
| | | ids = append(ids,key) |
| | | } |
| | | logger.Info("------------------------------------------------------------------------------------------------------------------------") |
| | | logger.Info("=====================人员id的集合为:",ids) |
| | | baseinfos, err1 := esutil.Dbpersoninfosbyid(ids) |
| | | if err1 != nil { |
| | | logger.Error("查询底库人员信息出错", err1) |
| | | } |
| | | fmt.Println("底库人员信息:",baseinfos) |
| | | logger.Debug("----------------++++++++++++++++++++底库人员信息:",baseinfos) |
| | | for _,baseinfo := range baseinfos { |
| | | logger.Info("---------看看每个底库人员的信息:",baseinfo) |
| | | } |
| | | //baseinfo.CompareScore = Retain(val) |
| | | //arg.Liker = append(arg.Liker, &baseinfo) |
| | | //logger.Info("------------------第一次看args:",*arg) |
| | |
| | | if threshold <= obj.Score && size <= float64(obj.Rects.Width*obj.Rects.Height) && intersectionper <= PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale) { |
| | | // 这步要备齐表达式里所需要的所有参数 |
| | | a.targetNum++ |
| | | arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.Feature, obj.ThftRes, []*protomsg.Baseinfo{}} |
| | | arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.Feature, obj.ThftRes, []*BaseInfo{}} |
| | | //logger.Println("放进去的arg:-------", arg1) |
| | | a.args = append(a.args, &arg1) |
| | | a.filterData = append(a.filterData, &arg1) |