From f08948b36e73de524a8177f64dab91afd33fe8fd Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 09 十月 2019 17:07:01 +0800
Subject: [PATCH] 把分值和id以及坐标都预备存上

---
 ruleserver/ruleToformula.go |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 5160f2a..da722fc 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -82,6 +82,11 @@
 	RuleResult map[string]interface{} // 杩囧畬瑙勫垯鍚庢墦鐨勬爣绛� face: []FaceResult, yolo: []Result
 }
 
+type TargetInfo struct {
+	Rect
+	TargetId    uint64
+	TargetScore float64
+}
 // 杩囪鍒欏簱鎵撲笂鐨勬爣绛�
 type Result struct {
 	TaskId       string // 浠诲姟id
@@ -90,7 +95,7 @@
 	DefenceState bool   // 鏄惁甯冮槻
 	AlarmLevel   int32  // 鎶ヨ绛夌骇
 	RuleText     string // 鏂囧瓧鐗堣鍒欑粍
-	Location     []Rect // 鐩爣鐨勫潗鏍�
+	Location     []TargetInfo // 鐩爣鐨勫潗鏍�
 	AlarmPolygon string // 瑙﹀彂鐨勬姤璀︽
 	IsLink		 bool   // 鏄惁鏄仈鍔ㄤ换鍔�
 	Others
@@ -215,7 +220,6 @@
 			}
 		}
 	}
-
 	// 鍐嶈繃鍏朵粬鏁版嵁 杩欐鐩存帴寰楀埌缁撴灉锛堢湡鎴栧亣锛� 杩囩洰鏍囨暟閲�
 	for j := 0; j < len(groupRule.Rules); j++ {
 		for _, sdkData := range args.Sdkdata {
@@ -349,7 +353,7 @@
 				//}
 				logger.Warn("___________________________________________________________________________缁堜簬璧板畬涓囬噷闀垮緛")
 				// 鎶婁粬浠殑浣嶇疆鏁版嵁涔熶紶涓嬪幓
-				locations := []Rect{}
+				locations := []TargetInfo{}
 				for _, sdkData := range args.Sdkdata {
 					if sdkData.IpcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘
 						for _, areaMap := range sdkData.AreaMapList {
@@ -371,7 +375,7 @@
 					//logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 				}
 				if faceFlag {
-					args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId, islink,label,}, faces})
+					args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []TargetInfo{}, polygonId, islink,label,}, faces})
 					//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
 					labelTypes = append(labelTypes,1)
 				}
@@ -410,11 +414,15 @@
 	return faces
 }
 
-func putYolosToResult(am *AreaMap) []Rect {
-	locations := []Rect{}
+func putYolosToResult(am *AreaMap) []TargetInfo {
+	locations := []TargetInfo{}
 	if len(am.filterData) > 0 {
 		for _, data := range am.filterData {
-			locations = append(locations, data.Location)
+			location := TargetInfo{}
+			location.Rect = data.Location
+			location.TargetId = data.Id
+			location.TargetScore = data.Score
+			locations = append(locations, location)
 		}
 	}
 	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)

--
Gitblit v1.8.0