From e87b04d7f9d6b25c858d421432bed5443f91b9df Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期一, 16 九月 2019 11:10:34 +0800 Subject: [PATCH] update goffmpeg and capture --- controllers/fileController.go | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index a4c67ae..d464bd3 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -10,7 +10,9 @@ "fmt" "github.com/gin-gonic/gin" "github.com/satori/go.uuid" + "gocv.io/x/gocv" "image" + "image/color" "image/jpeg" "io/ioutil" "log" @@ -25,7 +27,7 @@ "webserver/extend/code" "webserver/extend/config" "webserver/extend/esutil" - "webserver/extend/logger" + "basic.com/valib/logger.git" "webserver/extend/util" "webserver/models" "webserver/service" @@ -141,7 +143,9 @@ } } //2.澶у浘鐢绘,鏍囪瘑浜鸿劯浣嶇疆 - originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", fileBytes) + drawedB, _ := drawPolygonOnImg(pI, &faceArr) + + originFilePath, _ := WeedFSClient.UploadFile(weedfsUri, "FaceUrl", *drawedB) resultMap["uploadImage"] = originFilePath resultMap["smImage"] = urlArr util.ResponseFormat(c,code.Success, resultMap) @@ -150,6 +154,22 @@ } } +func drawPolygonOnImg(i *protomsg.Image,faceArr *[]*protomsg.ResultFaceDetect) (*[]byte,error) { + rook, _ := gocv.NewMatFromBytes(int(i.Height), int(i.Width), gocv.MatTypeCV8UC3, i.Data) + defer rook.Close() + //yellow := color.RGBA{255, 255, 0, 0} + red := color.RGBA{255, 0, 0, 0} + for _,faceResult := range *faceArr { + left := int(faceResult.Pos.RcFace.Left) + top := int(faceResult.Pos.RcFace.Top) + right := int(faceResult.Pos.RcFace.Right) + bottom := int(faceResult.Pos.RcFace.Bottom) + gocv.Rectangle(&rook, image.Rect(left,top,right,bottom), red, 1) + } + fData,err := gocv.IMEncode(".jpg", rook) + return &fData,err +} + type CompareResult struct { Id string `json:"id"` CompareScore float32 `json:"compareScore"` -- Gitblit v1.8.0