From 54f7bb20860ec5a98964290c721113d71ea6e408 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 02 七月 2019 19:57:55 +0800
Subject: [PATCH] 上传人脸
---
util/upload.go | 8 ++++----
insertdata/insertDataToEs.go | 5 ++---
util/image.go | 43 +++++++++++++++++++++----------------------
3 files changed, 27 insertions(+), 29 deletions(-)
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 447e3af..b732361 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -126,9 +126,8 @@
}
i := protomsg.Image{}
err = proto.Unmarshal(bdata, &i)
- i1 := protomsg.Image{}
- i1 = util.Subimg(i.Data, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height))
- resp, err := util.PostFormBufferData(weedfsUrl, i1, uuid.NewV4().String())
+ bytes := util.Subimg(i.Data, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height))
+ resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
if err != nil {
log.Println("涓婁紶灏忓浘鍑洪敊")
}
diff --git a/util/image.go b/util/image.go
index bcadd29..2673449 100644
--- a/util/image.go
+++ b/util/image.go
@@ -1,33 +1,32 @@
package util
import (
- "basic.com/pubsub/protomsg.git"
- "bytes"
- "fmt"
- "github.com/gogo/protobuf/proto"
+ "gocv.io/x/gocv"
"image"
- "image/jpeg"
- "log"
- "reflect"
)
// 鎸夊昂瀵稿幓鍒囧浘
-func Subimg(dbyte []byte,x0,y0,x1,y1 int,) protomsg.Image{
+func Subimg(dbyte []byte,x0,y0,x1,y1 int,) []byte{
- bbb := bytes.NewBuffer(dbyte) // 蹇呴』鍔犱竴涓猙uffer 涓嶇劧娌℃湁read鏂规硶灏变細鎶ラ敊
- log.Println("==================鐪嬬湅杩欎釜buffer",bbb)
- m, _, _ := image.Decode(bbb) // 鍥剧墖鏂囦欢瑙g爜
- rgbImg := m.(*image.YCbCr)
- subImg := rgbImg.SubImage(image.Rect(x0, y0, x1, y1)) //鍥剧墖瑁佸壀x0 y0 x1 y1
- fmt.Println(reflect.TypeOf(subImg))
- //f, _ := os.Create("./test.jpg") //鍒涘缓鏂囦欢
- //defer f.Close() //鍏抽棴鏂囦欢
- emptyBuff := bytes.NewBuffer(nil) //寮�杈熶竴涓柊鐨勭┖buff
- jpeg.Encode(emptyBuff, subImg, nil) //img鍐欏叆鍒癰uff
- bytes := emptyBuff.Bytes()
- i := protomsg.Image{}
- proto.Unmarshal(bytes,&i)
- return i
+ //bbb := bytes.NewBuffer(dbyte) // 蹇呴』鍔犱竴涓猙uffer 涓嶇劧娌℃湁read鏂规硶灏变細鎶ラ敊
+ ////log.Println("==================鐪嬬湅杩欎釜buffer",bbb)
+ //m, _, _ := image.Decode(bbb) // 鍥剧墖鏂囦欢瑙g爜
+ //rgbImg := m.(*image.YCbCr)
+ //subImg := rgbImg.SubImage(image.Rect(x0, y0, x1, y1)) //鍥剧墖瑁佸壀x0 y0 x1 y1
+ //fmt.Println(reflect.TypeOf(subImg))
+ ////f, _ := os.Create("./test.jpg") //鍒涘缓鏂囦欢
+ ////defer f.Close() //鍏抽棴鏂囦欢
+ //emptyBuff := bytes.NewBuffer(nil) //寮�杈熶竴涓柊鐨勭┖buff
+ //jpeg.Encode(emptyBuff, subImg, nil) //img鍐欏叆鍒癰uff
+ //bytes := emptyBuff.Bytes()
+ //i := protomsg.Image{}
+ //proto.Unmarshal(bytes,&i)
+ //return i
//f, _ := os.Create("./test.jpg") //鍒涘缓鏂囦欢
//defer f.Close() //鍏抽棴鏂囦欢
//jpeg.Encode(f, subImg, nil) //鍐欏叆鏂囦欢
+
+ img,_ := gocv.NewMatFromBytes(int(y1-y0),int(x1-x0),gocv.MatTypeCV8UC3,dbyte)
+ region := img.Region(image.Rectangle{image.Point{x0,y0},image.Point{x1,y1}})
+ bytes, _ := gocv.IMEncode(".jpg", region)
+ return bytes
}
\ No newline at end of file
diff --git a/util/upload.go b/util/upload.go
index 9286695..a5e4870 100644
--- a/util/upload.go
+++ b/util/upload.go
@@ -76,11 +76,11 @@
}
// 涓婁紶鍥剧墖锛堜簩杩涘埗娴侊級
-func PostFormBufferData1(uri string, fbada []byte, fileName string,) (maps map[string]interface{}, err0 error) {
+func PostFormBufferData1(uri string, fdata []byte, fileName string,) (maps map[string]interface{}, err0 error) {
// 瑕佹寚瀹氳浆byte鐨勬牸寮�
- imgs := gocv.NewMat()
- imgs, _ = gocv.NewMatFromBytes(1000, 1000, gocv.MatTypeCV8UC3, fbada)
- fdata,_ := gocv.IMEncode(".jpg",imgs)
+ //imgs := gocv.NewMat()
+ //imgs, _ = gocv.NewMatFromBytes(1000, 1000, gocv.MatTypeCV8UC3, fbada)
+ //fdata,_ := gocv.IMEncode(".jpg",imgs)
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
_, err := writer.CreateFormFile("file", fileName)
--
Gitblit v1.8.0