From 7cb7884e4bd7f27d811474d4e95f29eebac845cd Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 12 十一月 2019 17:56:54 +0800
Subject: [PATCH] 保存一下个体静止算法

---
 ruleserver/ruleToformula.go |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index d5433ae..7838d53 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -36,7 +36,8 @@
 		// 寰楀埌灞炰簬璇ユ憚鍍忔満鐨勮嫢骞茬粍浠诲姟鐨勫畬鏁磋鍒欙紙璺熸瘡涓�鏉″畬鏁磋鍒欐瘮杈冧箣鍚庡緱鍑烘湰寮犲浘鍍忓浜庢煇涓鍒欐槸鍚︽姤璀︾殑缁撴灉銆傛斁杩沵ap锛屾瘮濡傛湰甯у浘鍍忕殑id锛屾墍纰版挒鎴愬姛鐨勮鍒檌d锛�
 		args.RuleResult = make(map[string]interface{})
 		args.RuleResult["yolo"] = []structure.Result{}
-		args.RuleResult["face"] = []structure.FaceResult{}
+		args.RuleResult["face"] = []structure.TargetResult{}
+		args.RuleResult["target"] = []structure.TargetResult{}
 		//logger.Warn("浼犺繘鍘讳箣鍓嶆槸浠�涔堝痉琛岋細",args.RuleResult["yolo"])
 		if taskGroup != nil && len(taskGroup.GroupRules) > 0 {
 			// 鍏堣繃鐙珛锛屽啀杩囪仈鍔�
@@ -76,7 +77,7 @@
 	}
 }
 
-func CallMiddleware(args *structure.SdkDatas,rule protomsg.GroupRule) (bool, string, string){
+func CallMiddleware(args *structure.SdkDatas,rule protomsg.GroupRule,lable *structure.Others,message *protomsg.SdkMessage) (bool, string, string){
 	p,err :=  plugin.Open("./algorithm/middleware.so")
 	if err != nil {
 		panic(err)
@@ -85,7 +86,7 @@
 	if err1 != nil {
 		panic("娌℃湁鎵惧埌涓棿浠跺叆鍙e嚱鏁�")
 	}
-	a,b,c := f.(func(args *structure.SdkDatas,rule protomsg.GroupRule)(bool, string, string))(args,rule)
+	a,b,c := f.(func(args *structure.SdkDatas,rule protomsg.GroupRule,label *structure.Others,message *protomsg.SdkMessage)(bool, string, string))(args,rule,lable,message)
 	return a,b,c
 }
 
@@ -102,7 +103,7 @@
 	sdkNames := ""
 	polygonId := ""
 	// 鎶婁竴甯ф暟鎹拰涓�缁勮鍒欏彂缁欑畻娉曢儴鍒嗭紝寰楀嚭鍒ゆ柇缁撴灉
-	result,sdkNames,polygonId = CallMiddleware(args,*groupRule)
+	result,sdkNames,polygonId = CallMiddleware(args,*groupRule,&label,message)
 
 	if result {
 		// 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢   鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹�
@@ -177,7 +178,7 @@
 				//logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 			}
 			if faceFlag {
-				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.FaceResult), structure.FaceResult{structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []structure.TargetInfo{}, polygonId, islink,label,}, faces})
+				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.TargetResult), structure.TargetResult{structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []structure.TargetInfo{}, polygonId, islink,label,}, faces})
 				//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
 				labelTypes = append(labelTypes,1)
 			}
@@ -192,9 +193,9 @@
 						}
 					}
 					if k == "face" {
-						tempMap[k] = []structure.FaceResult{}
-						for _, res := range result.([]structure.FaceResult) {
-							tempMap[k] = append(tempMap[k].([]structure.FaceResult), res)
+						tempMap[k] = []structure.TargetResult{}
+						for _, res := range result.([]structure.TargetResult) {
+							tempMap[k] = append(tempMap[k].([]structure.TargetResult), res)
 						}
 					}
 				}
@@ -305,9 +306,9 @@
 						}
 					}
 					if k == "face" {
-						tempMap[k] = []structure.FaceResult{}
-						for _, res := range result.([]structure.FaceResult) {
-							tempMap[k] = append(tempMap[k].([]structure.FaceResult), res)
+						tempMap[k] = []structure.TargetResult{}
+						for _, res := range result.([]structure.TargetResult) {
+							tempMap[k] = append(tempMap[k].([]structure.TargetResult), res)
 						}
 					}
 				}
@@ -351,9 +352,9 @@
 								args.RuleResult["yolo"].([]structure.Result)[i].Others.LinkCache = label.LinkCache
 							}
 						}
-						for i := 0; i < len(args.RuleResult["face"].([]structure.FaceResult)); i++ {
-							if args.RuleResult["face"].([]structure.FaceResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
-								args.RuleResult["face"].([]structure.FaceResult)[i].Others.LinkCache = label.LinkCache
+						for i := 0; i < len(args.RuleResult["face"].([]structure.TargetResult)); i++ {
+							if args.RuleResult["face"].([]structure.TargetResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+								args.RuleResult["face"].([]structure.TargetResult)[i].Others.LinkCache = label.LinkCache
 							}
 						}
 					}
@@ -371,9 +372,9 @@
 					}
 				}
 				if val == 1 {
-					if len(args.RuleResult["face"].([]structure.FaceResult)) >= 1 {
-						lens := len(args.RuleResult["face"].([]structure.FaceResult))-1
-						args.RuleResult["face"] = args.RuleResult["face"].([]structure.FaceResult)[0:lens]
+					if len(args.RuleResult["face"].([]structure.TargetResult)) >= 1 {
+						lens := len(args.RuleResult["face"].([]structure.TargetResult))-1
+						args.RuleResult["face"] = args.RuleResult["face"].([]structure.TargetResult)[0:lens]
 					}
 				}
 			}

--
Gitblit v1.8.0