From 0c8dffc024fc2f8f6b185a2b85387309e4e62aca Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 02 七月 2019 20:20:04 +0800
Subject: [PATCH] ---

---
 util/image.go |   46 +++++++++++++++++++++++-----------------------
 1 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/util/image.go b/util/image.go
index bcadd29..32dccff 100644
--- a/util/image.go
+++ b/util/image.go
@@ -1,33 +1,33 @@
 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)       				  //鍐欏叆鏂囦欢
-}
\ No newline at end of file
+
+	img,_ := gocv.NewMatFromBytes(100,100,gocv.MatTypeCV8UC3,dbyte)
+	rect := image.Rect(x0,y0,x0+100,y0+100)
+	region := img.Region(rect)
+	bytes, _ := gocv.IMEncode(".jpg", region)
+	return bytes
+}

--
Gitblit v1.8.0