From b93fee2a0c8bb9e73d91b4cb064654f1ee628684 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 20 十二月 2019 13:54:23 +0800
Subject: [PATCH] update

---
 work/sdk/humantrack.go |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/work/sdk/humantrack.go b/work/sdk/humantrack.go
index 46ad033..3bb7fbd 100644
--- a/work/sdk/humantrack.go
+++ b/work/sdk/humantrack.go
@@ -30,7 +30,7 @@
 	list      *LockList
 
 	mapCameraImageIndex map[string]int
-	recvImageCount      int
+	wait2RunMoreThan    int
 	index               int
 	images              []*imageWithID
 	msgs                []*work.MsgRS
@@ -44,7 +44,7 @@
 		flag:      flag,
 		list:      NewLockList(6),
 
-		recvImageCount:      0,
+		wait2RunMoreThan:    0,
 		index:               0,
 		mapCameraImageIndex: make(map[string]int),
 		images:              make([]*imageWithID, batchSize),
@@ -140,15 +140,14 @@
 		Channel: 3,
 	}
 
-	// mapCameraImageIndex map[string]int
-	// images              []gohumantrack.ImageHumanTracker
-
+	// 鏌ユ壘鏄惁鏈夎繖涓憚鍍忔満鍥剧墖鐨勪綅缃�,鏈夊氨鏇挎崲鎴愭渶鏂扮殑,骞朵笖淇濆瓨rMsg
 	if i, ok := t.mapCameraImageIndex[rMsg.Msg.Cid]; ok {
 		if i < t.batchSize {
 			t.images[i] = &imageWithID{&img, fx, fy, rMsg.Msg.Cid}
 			t.msgs[i] = &rMsg
 		}
 	} else {
+		// 娌℃湁,濡傛灉index灏忎簬鏈�澶х殑batch,鍒涘缓涓�涓柊鐨勪綅缃�
 		if t.index < t.batchSize {
 			t.images[t.index] = &imageWithID{&img, fx, fy, rMsg.Msg.Cid}
 			t.msgs[t.index] = &rMsg
@@ -156,9 +155,9 @@
 		}
 		t.index++
 	}
-	t.recvImageCount++
-
-	if t.recvImageCount < t.batchSize+t.batchSize/2 {
+	// 绛夋敹鍒版鏁板ぇ浜�?娆″悗寮�濮嬭繍琛�,鍥犱负涓嶄竴瀹氬悇鑷憚鍍忔満鐨勫浘鐗囬兘浼氬埌
+	t.wait2RunMoreThan++
+	if t.wait2RunMoreThan < t.batchSize+t.batchSize/2 {
 		return
 	}
 
@@ -177,8 +176,17 @@
 	}
 
 	res, err := t.tracker.ProcessImagePointer(pimg, rw, rh, 3)
-	t.recvImageCount = 0
-
+	// 浠�0寮�濮嬭绠楁敹鍒颁簡澶氬皯娆″浘鐗�
+	t.wait2RunMoreThan = 0
+	// 灏唅mages璁剧疆涓簄il,閲嶆柊寮�濮嬩竴涓祦绋�
+	for i := 0; i < t.batchSize; i++ {
+		t.images[i] = nil
+		t.msgs[i] = nil
+	}
+	// 濡傛灉index澶т簬鏈�澶atch,璇存槑鎽勫儚鏈哄彲鑳芥敼鍙樹簡,娓呯┖鎵�鏈夌粨鏋勯噸鏂板紑濮�
+	if t.index > t.batchSize {
+		t.mapCameraImageIndex = make(map[string]int)
+	}
 	if err != nil {
 		logo.Infoln("batch~~~~~~Track Image Count: ", t.index, " Failed: ", err)
 		ejectResult(nil, rMsg, out)

--
Gitblit v1.8.0