From 4452794b46d66af2f83878855af7571857d946fa Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 05 十二月 2019 18:24:53 +0800
Subject: [PATCH] 多协程模式

---
 util/simpleCV.go |   61 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 26 deletions(-)

diff --git a/util/simpleCV.go b/util/simpleCV.go
index d32691f..32bcdef 100644
--- a/util/simpleCV.go
+++ b/util/simpleCV.go
@@ -155,11 +155,6 @@
 		}
 	}
 }
-
-<<<<<<< HEAD
-
-=======
->>>>>>> a87978244bbb81f2fa7610560ed190acbaa422f8
 func DrawPolygonOnImageForYolo(cameraId string, img protomsg.Image, results []structure.Result,url string) (maps map[string]interface{}, err0 error) {
 
 	rook, _ := gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data)
@@ -173,22 +168,18 @@
 	// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
 	for _,result := range results  {
 		polygonIds := strings.Split(result.AlarmPolygon,",")
+		logger.Info("鍖哄煙ID锛�",result.AlarmPolygon,polygonIds)
 		for i := 0; i < len(polygonIds); i++ {
 			polygon := getPolygonById(polygonIds[i],cameraId)
 			if polygon.Polygon != "[]" && polygon.Polygon != ""{
-<<<<<<< HEAD
 				DrawAPolygon(&rook,polygon.Polygon,yellow,scale)
-=======
-				logger.Debug("鎵�鐢诲尯鍩燂細",polygon.Polygon)
-				DrawAPolygon(&rook,polygon.Polygon,yellow)
->>>>>>> a87978244bbb81f2fa7610560ed190acbaa422f8
 			}
 		}
 	}
 	// 鎶婄洰鏍囨鍑烘潵
 	for _,result := range results  {
-		for _,rect := range result.Location {
-			gocv.Rectangle(&rook, image.Rect(int(rect.X), int(rect.Y), int(rect.X+rect.Width), int(rect.Y+rect.Height)), red, 1)
+		for _,rect := range result.AlarmObj {
+			gocv.Rectangle(&rook, image.Rect(int(rect.Location.X), int(rect.Location.Y), int(rect.Location.X+rect.Location.Width), int(rect.Location.Y+rect.Location.Height)), red, 1)
 		}
 	}
 	//return nil,nil
@@ -196,14 +187,44 @@
 	return
 }
 
-func DrawPolygonOnImageForFace(cameraId string, img protomsg.Image, results []structure.FaceResult,url string) (maps map[string]interface{}, err0 error) {
+func DrawPolygonOnImageForTarget(cameraId string, img protomsg.Image, results []structure.Result,url string) (maps map[string]interface{}, err0 error) {
 
 	rook, _ := gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data)
 	//rook := gocv.IMRead("/home/user/workspace/ruleprocess/util/105.jpg",gocv.IMReadColor)
 	defer rook.Close()
 
 	yellow := color.RGBA{255, 255, 0, 0}
-<<<<<<< HEAD
+	red := color.RGBA{255, 0, 0, 0}
+	scale := float64(img.Width) / 960 // 鐢诲浘姣斾緥
+	logger.Info("width:",img.Width,"--鐢诲浘姣斾緥锛�",scale)
+	// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
+	for _,result := range results  {
+		polygonIds := strings.Split(result.AlarmPolygon,",")
+		logger.Info("鍖哄煙ID锛�",result.AlarmPolygon,polygonIds)
+		for i := 0; i < len(polygonIds); i++ {
+			polygon := getPolygonById(polygonIds[i],cameraId)
+			if polygon.Polygon != "[]" && polygon.Polygon != ""{
+				DrawAPolygon(&rook,polygon.Polygon,yellow,scale)
+			}
+		}
+	}
+	// 鎶婄洰鏍囨鍑烘潵
+	for _,result := range results  {
+		for _,rect := range result.AlarmObj {
+			gocv.Rectangle(&rook, image.Rect(int(rect.Location.X), int(rect.Location.Y), int(rect.Location.X+rect.Location.Width), int(rect.Location.Y+rect.Location.Height)), red, 1)
+		}
+	}
+	//return nil,nil
+	maps,err0 = UploadFromMat(url,rook)
+	return
+}
+func DrawPolygonOnImageForFace(cameraId string, img protomsg.Image, results []structure.Result,url string) (maps map[string]interface{}, err0 error) {
+
+	rook, _ := gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data)
+	//rook := gocv.IMRead("/home/user/workspace/ruleprocess/util/105.jpg",gocv.IMReadColor)
+	defer rook.Close()
+
+	yellow := color.RGBA{255, 255, 0, 0}
 	scale := float64(img.Width) / 960 // 鐢诲浘姣斾緥
 	// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
 	for _,result := range results  {
@@ -212,18 +233,6 @@
 			polygon := getPolygonById(polygonIds[i],cameraId)
 			if polygon.Polygon != "[]" && polygon.Polygon != ""{
 				DrawAPolygon(&rook,polygon.Polygon,yellow,scale)
-=======
-
-	// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
-	for _,result := range results  {
-		polygonIds := strings.Split(result.AlarmPolygon,",")
-		logger.Info("-----------------------鐪嬬湅鎶ヨ鍖哄煙id锛�",polygonIds)
-		for i := 0; i < len(polygonIds)-1; i++ {
-			polygon := getPolygonById(polygonIds[i],cameraId)
-			if polygon.Polygon != "[]" && polygon.Polygon != ""{
-				logger.Debug("鎵�鐢诲尯鍩燂細",polygon.Polygon)
-				DrawAPolygon(&rook,polygon.Polygon,yellow)
->>>>>>> a87978244bbb81f2fa7610560ed190acbaa422f8
 			}
 		}
 	}

--
Gitblit v1.8.0