From fce697021526285f7e06387ea8f282d11ed25155 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期六, 29 六月 2019 16:57:23 +0800 Subject: [PATCH] 把区域数据变为指针拷贝 --- ruleserver/ruleToformula.go | 16 ++++---- main.go | 74 ------------------------------------- 2 files changed, 8 insertions(+), 82 deletions(-) diff --git a/main.go b/main.go index 030d6de..6dec348 100644 --- a/main.go +++ b/main.go @@ -54,80 +54,6 @@ } } -// 灏嗗閮ㄤ紶杩涙潵鐨剆dk鏁版嵁鍖呰В鎴� ArgsFromSdk -//func paramFormat(msg []byte, arg *ruleserver.ArgsFromSdk) protomsg.SdkMessage { -// defer func() { -// if err := recover(); err != nil { -// fmt.Println("瑙e寘杩囩▼鐨勯敊璇�", err.(string)) -// } -// -// }() -// // 鍙嶅簭鍒楀寲鏁版嵁寰楀埌sdk鍏ュ弬 -// m := protomsg.SdkMessage{} -// err := proto.Unmarshal(msg, &m) -// if err != nil { -// panic("瑙f瀽msg鏃跺嚭鐜伴敊璇�") -// } -// arg.CameraId = m.Cid -// arg.TaskId = m.Tasklab.Taskid -// bdata, err := util.UnCompress(m.Data) -// if err != nil { -// panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒") -// } -// i := protomsg.Image{} -// err = proto.Unmarshal(bdata, &i) -// arg.ImageWidth = int(i.Width) -// arg.ImageHeight = int(i.Height) -// // 鏆傛椂鍐欐锛宻dk杩樻病鏈夎繖淇╃畻娉� -// arg.KeepRight = false -// arg.IsStatic = false -// for _, sdkinfo := range m.Tasklab.Sdkinfos { // yolo绠楁硶 -// if sdkinfo.Sdktype == "Yolo" { -// if len(sdkinfo.Sdkdata) > 1 { -// // 澶т簬1鎵嶆湁鏁版嵁 -// fmt.Println("----------------------------------------------------",m.Caddr) -// yoloParam := protomsg.ParamYoloObj{} -// err = proto.Unmarshal(sdkinfo.Sdkdata, &yoloParam) -// if err != nil { -// fmt.Println("瑙f瀽YOLO sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err) -// continue -// } -// for _, info := range yoloParam.Infos { -// if info.Typ == 0 { -// photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.RcObj), Score: float64(info.Prob)*100,IsYolo:true} -// arg.Photo = append(arg.Photo, photoMap) -// } -// } -// } else { -// continue -// } -// -// } -// if sdkinfo.Sdktype == "FaceDetect" { // 浜鸿劯妫�娴� -// if len(sdkinfo.Sdkdata) > 1 { -// fmt.Println("----------------------------------------------------",m.Caddr) -// faceParam := protomsg.ParamFacePos{} -// err = proto.Unmarshal(sdkinfo.Sdkdata, &faceParam) -// if err != nil { -// fmt.Println("瑙f瀽FACE sdk鏁版嵁鏃跺嚭鐜伴敊璇�", err) -// continue -// } -// for _, info := range faceParam.Faces { -// photoMap := ruleserver.PhotoMap{Rects: rectFormat(info.Pos.RcFace), Score: float64(info.Pos.Quality), IsYolo:false,ThftRes:*(info.Result)} -// arg.Photo = append(arg.Photo, photoMap) -// } -// } else { -// continue -// } -// } -// //if sdkinfo.Sdktype == "FaceExtract" { // 浜鸿劯鎻愬彇 -// -// //} -// -// } -// return m -//} - // 灏嗗閮ㄤ紶杩涙潵鐨剅ect锛坱op,bottom,left,right锛夎浆鍖栦负鑷繁鍐呴儴鐨剅ect(left top width height) func rectFormat(rcobj *protomsg.Rect) ruleserver.Rect { rect := ruleserver.Rect{} diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 7475b07..2b2138a 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -112,7 +112,7 @@ IsStatic bool // 鏄惁闈欐 ImageWidth int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌 ImageHeight int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌 - AreaMapList []AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚� + AreaMapList []*AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚� } // 浠庣畻娉曟ā鍧楀効鎷挎潵鐨勫涓�甯у浘鍍忓悇涓畻娉曟彁鍙栫殑鏁版嵁闆嗗悎 @@ -182,8 +182,8 @@ for _, polygon := range cameraPolygons { areaMap := AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine} // 涓烘瘡涓憚鍍忔満鍖哄煙濉厖鏁版嵁 - areaMap.CountAreaObjs(arg) - arg.AreaMapList = append(arg.AreaMapList, areaMap) + (&areaMap).CountAreaObjs(arg) + arg.AreaMapList = append(arg.AreaMapList, &areaMap) } } @@ -234,7 +234,7 @@ log.Println("鍏ヤ镜鐨勭畻娉曟暟鎹�",sdkData) } for _, areaMap := range sdkData.AreaMapList { - ruleResult := filterRule(groupRule.Rules[j], &areaMap) + ruleResult := filterRule(groupRule.Rules[j], areaMap) if ruleResult.Result != "" { log.Println("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result) resultSplice = append(resultSplice, &ruleResult) @@ -247,7 +247,7 @@ for _, sdkData := range args.Sdkdata { for _, areaMap := range sdkData.AreaMapList { for j := 0; j < len(groupRule.Rules); j++ { - putFaceToResult(groupRule.Rules[j], &areaMap, faces) + putFaceToResult(groupRule.Rules[j], areaMap, faces) } } } @@ -256,7 +256,7 @@ for j := 0; j < len(groupRule.Rules); j++ { for _, sdkData := range args.Sdkdata { for _, areaMap := range sdkData.AreaMapList { - ruleResult := transferParameters(groupRule.Rules[j], &areaMap) + ruleResult := transferParameters(groupRule.Rules[j], areaMap) if ruleResult.Result != "" { log.Println("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result) resultSplice = append(resultSplice, &ruleResult) @@ -268,7 +268,7 @@ for j := 0; j < len(groupRule.Rules); j++ { for _, sdkData := range args.Sdkdata { for _, areaMap := range sdkData.AreaMapList { - ruleResult := timeRuleResult(groupRule.Rules[j], &areaMap) + ruleResult := timeRuleResult(groupRule.Rules[j], areaMap) if ruleResult.Result != "" { log.Println("鏃堕棿瑙勫垯缁撴灉锛�", ruleResult.Result) resultSplice = append(resultSplice, &ruleResult) @@ -280,7 +280,7 @@ for j := 0; j < len(groupRule.Rules); j++ { for _, sdkData := range args.Sdkdata { for _, areaMap := range sdkData.AreaMapList { - duration(groupRule.Rules[j], &areaMap) + duration(groupRule.Rules[j], areaMap) } } } -- Gitblit v1.8.0