From d09f65efe90826dd76eaf0ca7cc618df9b09c40d Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期六, 16 十一月 2019 12:53:00 +0800
Subject: [PATCH] 防止个体目标进入yolo结果

---
 algorithm/static/static.go |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index 813abe2..6083668 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -112,11 +112,22 @@
 			initN = init
 		}
 	}
-	if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
-		logger.Info("涔嬪墠鏃犵紦瀛�")
+	if len(am.FilterData) < 0 {
+		logger.Info("鏈抚鍖哄煙鍐呮棤鏁版嵁锛岃繑鍥�")
+		// 娓呯┖缂撳瓨鐨勭洰鏍�
+
+		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+	}
+	m := make(map[string]interface{})
+	m["target"] = []structure.Result{}
+	m["target"] = append(m["target"].([]structure.Result), structure.Result{args.TaskId, "", "", true, 0, "", am.FilterData, am.AreaJson, false,*lable})
+
+	if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 {
+		logger.Info("涔嬪墠鏃犵紦瀛樺苟涓旀娆″尯鍩熷唴鏈変汉")
+
 		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
-			obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,CacheSdkData:structure.ResultMsg{message, nil}}
+			obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN, AlarmFlag: false, BufferFlag: 10, CacheSdkData:structure.ResultMsg{message, m}}
 			objs = append(objs, obj)
 		}
 		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
@@ -126,12 +137,12 @@
 		flag := "false"
 		// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
 		tars := []*structure.Arg{}
-		logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId)
+		//logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId)
+		//for _, tar := range structure.StaticMap[am.AreaId].Targets {
+		//	logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
+		//}
 		for _, tar := range structure.StaticMap[am.AreaId].Targets {
-			logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
-		}
-		for _, tar := range structure.StaticMap[am.AreaId].Targets {
-			singleResult,arg := SingleStatic(tar,am,lable,90)
+			singleResult,arg := SingleStatic(tar,am,lable,95)
 			if singleResult {
 				flag = "true"
 				tars = append(tars,arg)
@@ -142,7 +153,6 @@
 		// 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓�
 		am.AlarmObj = tars
 		// 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨
-		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
 			flag1 := false
 			for _, OBJ := range structure.StaticMap[am.AreaId].Targets {
@@ -151,11 +161,10 @@
 				}
 			}
 			if !flag1 { // 闆嗗悎涓病鏈夌殑鎵嶆彃鍏�
-				obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, nil}}
-				objs = append(objs, obj)
+				obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN, InitN:initN,AlarmFlag: false, BufferFlag: 10, CacheSdkData: structure.ResultMsg{message, m}}
+				structure.StaticMap[am.AreaId].Targets = append(structure.StaticMap[am.AreaId].Targets, obj)
 			}
 		}
-		structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
 		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
 	}
 }
@@ -214,11 +223,14 @@
 					if tar.N == 0 && tar.AlarmFlag {
 						logger.Debug("-------------------------绗﹀悎鎸佺画鏃堕棿瑙勫垯浣嗗苟涓嶆槸棣栨锛屼笉鎶ヨ")
 						flagTime = "11"
+						o.TimeLable = flagTime
+						o.CacheData = tar.CacheSdkData
 					}
 					if tar.N == 0 && !tar.AlarmFlag { // 杩欑粍瑙勫垯鐨勫畾鏃跺櫒瑕佸叏閮ㄧ瓑浜�0   鏆備笖璁や负涓�缁勮鍒欏彧鏈変竴涓畾鏃跺櫒
 						logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺��-------------棣栨绗﹀悎鎸佺画鏃堕棿瑙勫垯骞舵姤璀�")
 						flagTime = "10"
 						tar.AlarmFlag = true
+						o.TimeLable = flagTime
 						o.CacheData = tar.CacheSdkData
 					}
 					if tar.N != 0 {

--
Gitblit v1.8.0