From e002c89ce09031360f4399c7d488fb3d01ddc296 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期六, 31 八月 2019 19:00:59 +0800
Subject: [PATCH] add drawImage after faceExtract
---
controllers/fileController.go | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/controllers/fileController.go b/controllers/fileController.go
index a4c67ae..bf08b29 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"
@@ -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