From 3e3b79a7a35f8aa796fe05ce1af74547cd06e9c2 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 27 六月 2019 16:23:40 +0800
Subject: [PATCH] get img Width height and Data from gocv

---
 service/FaceSdkService.go |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/service/FaceSdkService.go b/service/FaceSdkService.go
index 2db7587..93935d1 100644
--- a/service/FaceSdkService.go
+++ b/service/FaceSdkService.go
@@ -8,9 +8,7 @@
 	"github.com/gogo/protobuf/proto"
 	"github.com/pierrec/lz4"
 	"github.com/satori/go.uuid"
-	"image"
-	"io/ioutil"
-	"os"
+	"gocv.io/x/gocv"
 	"time"
 )
 
@@ -64,28 +62,21 @@
 	formatTimeStr := time.Unix(timeUnix, 0).Format("2006-01-02 15:04:05")
 	filePath := "/home/user/workspace/timg.jpg"
 
-	file, err := os.Open(filePath)
-	defer file.Close()
-	if err !=nil{
-		fmt.Println("image not exist")
-		return i
-	} else {
-		img, _, err := image.Decode(file)
-		bytes, err := ioutil.ReadFile(filePath)
-		if err !=nil {
-			return i
-		}
-		b := img.Bounds()
-		width := b.Max.X
-		height := b.Max.Y
-		i = protomsg.Image{
-			Width:int32(width),
-			Height:int32(height),
-			Timestamp:formatTimeStr,
-			Data:bytes,
-		}
+	picMat := gocv.IMRead(filePath, gocv.IMReadColor)
+
+	defer picMat.Close()
+
+	if picMat.Empty() {
+		fmt.Println("file not exist")
 		return i
 	}
+	i = protomsg.Image{
+		Width:int32(picMat.Rows()),
+		Height:int32(picMat.Cols()),
+		Timestamp:formatTimeStr,
+		Data:[]byte(picMat.DataPtrUint8()),
+	}
+	return i
 }
 
 func PushImgMsg(is protomsg.Recvmsg){
@@ -140,10 +131,10 @@
 			if rMsg.Tasklab !=nil && rMsg.Tasklab.Taskid == Virtual_FaceTaskId {
 				sdkInfos := rMsg.Tasklab.Sdkinfos
 				fmt.Println("Len(sdkInfos)=",len(sdkInfos))
-				//绗竴涓猻dk鏄汉鑴告娴嬶紝绗簩涓猻dk鏄汉鑴告彁鍙�
 					for _,swt :=range sdkInfos{
 						if swt.Sdktype == "FaceExtract"{
 							fmt.Println("sdkName:",swt.SdkName)
+							fmt.Println("sdkData.len:",len(swt.Sdkdata))
 							var pff protomsg.ParamFaceFeature
 							if err := proto.Unmarshal(swt.Sdkdata, &pff);err !=nil{
 								fmt.Println("ParamFaceFeature unmarshal err:",err)

--
Gitblit v1.8.0