From 788358c03d90f6371fa7a7d238850e2cb114a95f Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 19 八月 2019 16:41:18 +0800
Subject: [PATCH] 对于或规则的一些改进

---
 util/simpleCV.go |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/util/simpleCV.go b/util/simpleCV.go
index 7f07bff..6ce97a2 100644
--- a/util/simpleCV.go
+++ b/util/simpleCV.go
@@ -9,6 +9,7 @@
 	"image/color"
 	"os"
 	"ruleprocess/cache"
+	"ruleprocess/logger"
 	"ruleprocess/ruleserver"
 	"strings"
 )
@@ -154,33 +155,34 @@
 	}
 }
 
-func DrawPolygonOnImage(cameraId string, img protomsg.Image, results []ruleserver.Result) (maps map[string]interface{}, err0 error) {
+func DrawPolygonOnImage(cameraId string, img protomsg.Image, results []ruleserver.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}
 	red := color.RGBA{255, 0, 0, 0}
-	green := color.RGBA{0, 255, 0, 0}
 
 	// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
 	for _,result := range results  {
-		polygonIds := strings.Split(result.AlarmPolygon,"")
+		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 != "" {
-				DrawAPolygon(&rook,polygon.Polygon,red)
+			if polygon.Polygon != "[]" {
+				DrawAPolygon(&rook,polygon.Polygon,yellow)
 			}
 		}
 	}
 	// 鎶婄洰鏍囨鍑烘潵
 	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)), green, 1)
+			gocv.Rectangle(&rook, image.Rect(int(rect.X), int(rect.Y), int(rect.X+rect.Width), int(rect.Y+rect.Height)), red, 1)
 		}
 	}
 	//return nil,nil
-	maps,err0 = UploadFromMat(rook)
+	maps,err0 = UploadFromMat(url,rook)
 	return
 }
 
@@ -223,9 +225,9 @@
 	points := ruleserver.Json2points(polygonString)
 	for index := 0; index < len(points); index++ {
 		if index == len(points)-1 { // 闂悎鍥惧舰
-			gocv.Line(rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[0].X), int(points[0].Y)), color, 2)
+			gocv.Line(rook, image.Pt(int(points[index].X*1.33), int(points[index].Y*1.33)), image.Pt(int(points[0].X*1.33), int(points[0].Y*1.33)), color, 2)
 		} else {
-			gocv.Line(rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[index+1].X), int(points[index+1].Y)), color, 2)
+			gocv.Line(rook, image.Pt(int(points[index].X*1.33), int(points[index].Y*1.33)), image.Pt(int(points[index+1].X*1.33), int(points[index+1].Y*1.33)), color, 2)
 		}
 	}
 }

--
Gitblit v1.8.0