From 5c3cfd092cf6fc9c1aec5027a5ed97eaa1a13c6f Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 04 七月 2019 19:36:09 +0800 Subject: [PATCH] 加上给目标画框,解析底库数据 --- util/simpleCV.go | 8 ++++++-- insertdata/insertDataToEs.go | 2 +- main.go | 12 ++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index d50c5c3..277b14a 100644 --- a/insertdata/insertDataToEs.go +++ b/insertdata/insertDataToEs.go @@ -211,7 +211,7 @@ i := protomsg.Image{} err = proto.Unmarshal(bdata, &i) //resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String()) - resp, err = util.DrawPolygonOnImage(msg.Cid, i) + resp, err = util.DrawPolygonOnImage(msg.Cid, i,msg.RuleResult["yolo"].([]ruleserver.Result)) if err != nil { log.Println("鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err) } else { diff --git a/main.go b/main.go index d6ee9a0..d9e1bf2 100644 --- a/main.go +++ b/main.go @@ -224,6 +224,18 @@ continue } } + if sdkinfo.Sdktype == "FaceCompare" { + faceParam := protomsg.ParamFaceFeature{} + for _,faceExtCom := range faceParam.ExtComp { + binfos := protomsg.Binfos{} + err := proto.Unmarshal(faceExtCom.Comp, &binfos) + if err != nil { + fmt.Println("瑙f瀽浜鸿劯姣斿鏁版嵁鏃跺嚭鐜伴敊璇�", err) + continue + } + log.Println("_________________________________________________________________瑙f瀽鍑虹殑浜鸿劯鐨勭浉浼肩殑搴曞簱鏁版嵁",binfos) + } + } } return m diff --git a/util/simpleCV.go b/util/simpleCV.go index 3a0bd38..04c9340 100644 --- a/util/simpleCV.go +++ b/util/simpleCV.go @@ -161,7 +161,7 @@ } } -func DrawPolygonOnImage(cameraId string, img protomsg.Image) (maps map[string]interface{}, err0 error) { +func DrawPolygonOnImage(cameraId string, img protomsg.Image, results []ruleserver.Result) (maps map[string]interface{}, err0 error) { rook, _ := gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data) //rook := gocv.IMRead("/home/user/workspace/ruleprocess/util/105.jpg",gocv.IMReadColor) @@ -183,7 +183,11 @@ } } // 鎶婄洰鏍囨鍑烘潵 - //gocv.Rectangle() + for _,result := range results { + for _,rect := range result.Location { + gocv.Rectangle(&rook, image.Rect(int(rect.X), int(rect.Y), int(rect.X+rect.Width), int(rect.Y+rect.Height)), red, 1) + } + } //return nil,nil // 涓婁紶 fdata, _ := gocv.IMEncode(".jpg", rook) -- Gitblit v1.8.0