From 906880cce4eeb0d7b2548ed9298b1b9f3c5510c6 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 07 十一月 2019 20:10:54 +0800
Subject: [PATCH] Merge branch 'module' of http://192.168.5.5:10010/r/ruleprocess into module
---
util/simpleCV.go | 26 +++++++++-----------------
1 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/util/simpleCV.go b/util/simpleCV.go
index 9c69f39..a3fb8f6 100644
--- a/util/simpleCV.go
+++ b/util/simpleCV.go
@@ -155,7 +155,6 @@
}
}
}
-
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)
@@ -164,16 +163,15 @@
yellow := color.RGBA{255, 255, 0, 0}
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锛�",polygonIds)
for i := 0; i < len(polygonIds); i++ {
polygon := getPolygonById(polygonIds[i],cameraId)
if polygon.Polygon != "[]" && polygon.Polygon != ""{
- logger.Debug("鎵�鐢诲尯鍩燂細",polygon.Polygon)
- DrawAPolygon(&rook,polygon.Polygon,yellow)
+ DrawAPolygon(&rook,polygon.Polygon,yellow,scale)
}
}
}
@@ -195,17 +193,14 @@
defer rook.Close()
yellow := color.RGBA{255, 255, 0, 0}
-
+ scale := float64(img.Width) / 960 // 鐢诲浘姣斾緥
// 鍒嗗壊鍖哄煙id闆嗗悎骞舵牴鎹甶d鏌ヨ鍖哄煙鐒跺悗鐢绘
for _,result := range results {
polygonIds := strings.Split(result.AlarmPolygon,",")
- logger.Info("-----------------------鐪嬬湅鎶ヨ鍖哄煙id锛�",polygonIds)
for i := 0; i < len(polygonIds); i++ {
polygon := getPolygonById(polygonIds[i],cameraId)
- logger.Info("----鏌ュ埌鐨勬姤璀︽锛�",polygon)
if polygon.Polygon != "[]" && polygon.Polygon != ""{
- logger.Debug("鎵�鐢诲尯鍩燂細",polygon.Polygon)
- DrawAPolygon(&rook,polygon.Polygon,yellow)
+ DrawAPolygon(&rook,polygon.Polygon,yellow,scale)
}
}
}
@@ -241,24 +236,21 @@
// 鏌ュ埌鎽勫儚鏈烘墍鏈夌殑鍖哄煙骞剁敾妗�
var cameraPolygons []protomsg.CameraPolygon
cameraPolygons = cache.GetPolygonsByCameraId(cameraId)
- logger.Info("鏍规嵁id鏌ュ埌鐨勬姤璀︽锛�",cameraPolygons)
for _, polygon := range cameraPolygons {
- logger.Info("鏌ュ埌鐨勫尯鍩焛d锛�",polygon.Id,"--瑕佸尮閰嶇殑鏁版嵁id锛�",polygonId,"---鏄惁鐩哥瓑锛�",polygonId == polygon.Id)
- if polygon.Id == polygonId {
- logger.Info("杩涙潵鍗崇浉绛�")
+ if strings.Contains(polygonId,polygon.Id) {
return polygon
}
}
return protomsg.CameraPolygon{}
}
// 鍦ㄥ浘涓婄敾涓�涓
-func DrawAPolygon(rook *gocv.Mat,polygonString string, color color.RGBA) {
+func DrawAPolygon(rook *gocv.Mat,polygonString string, color color.RGBA,scale float64) {
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*1.33), int(points[index].Y*1.33)), image.Pt(int(points[0].X*1.33), int(points[0].Y*1.33)), color, 2)
+ gocv.Line(rook, image.Pt(int(points[index].X * scale), int(points[index].Y * scale)), image.Pt(int(points[0].X * scale), int(points[0].Y * scale)), color, 2)
} else {
- 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)
+ gocv.Line(rook, image.Pt(int(points[index].X * scale), int(points[index].Y * scale)), image.Pt(int(points[index+1].X * scale), int(points[index+1].Y * scale)), color, 2)
}
}
}
--
Gitblit v1.8.0