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