From aa7c8d325fb831d32934e5ad20f95965475292ac Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 16 十二月 2019 14:38:34 +0800 Subject: [PATCH] --- --- algorithm/personTrack/personTrack.go | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) diff --git a/algorithm/personTrack/personTrack.go b/algorithm/personTrack/personTrack.go index 630cf4b..1c7510e 100644 --- a/algorithm/personTrack/personTrack.go +++ b/algorithm/personTrack/personTrack.go @@ -1,6 +1,7 @@ package main import ( + "encoding/base64" "encoding/json" "errors" uuid "github.com/satori/go.uuid" @@ -20,7 +21,7 @@ var sender chan []byte = make(chan []byte) var receiver chan string = make(chan string) -var initFlag bool = false + var sock mangos.Socket func Init() { go Push() @@ -28,9 +29,7 @@ // 浜轰綋璺熻釜绠楁硶 func Entrance(rule *protomsg.Rule, am *structure.AreaMap, lable *structure.Others, args *structure.SdkDatas, message *protomsg.SdkMessage) structure.LittleRuleResult { - if !initFlag { - Init() - } + if rule.PolygonId == am.AreaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓� //logger.Debug("---------璧颁簡浜哄憳寮傚父绠楁硶", rule.Id, rule.SdkArgAlias, rule.Operator, rule.SdkArgValue, am.AreaId) if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || rule.SdkArgAlias == "" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔� @@ -100,8 +99,8 @@ trackArg["esId"] = esId trackArg["threshold"] = compareThreshold trackArg["cameraId"] = am.CameraId - trackArg["bodyFeature"] = arg.Feature - trackArg["faceFeature"] = arg.AttachArg.Feature + trackArg["bodyFeature"] = arg.BodyFeature + trackArg["faceFeature"] = base64.StdEncoding.EncodeToString(arg.AttachArg.Feature) logger.Info("璇锋眰寮犲椋炴瘮瀵规暟鎹弬鏁帮細",trackArg) b,err := json.Marshal(trackArg) if err != nil { @@ -119,7 +118,7 @@ } func track (rule *protomsg.Rule,am *structure.AreaMap) structure.LittleRuleResult{ - var threshold float32 = 70 // 榛樿闃堝�间负70 + var threshold float32 = 60 // 榛樿闃堝�间负70 if th,err := strconv.ParseFloat(rule.SdkArgValue,32); err == nil { threshold = float32(th) } @@ -151,14 +150,23 @@ if errSize != nil { logger.Error("Failed set MaxRecvSize: %v", err) } + errTimeOut := sock.SetOption(mangos.OptionRecvDeadline,time.Millisecond * 1500) + if errTimeOut != nil { + logger.Error("鎺ユ敹鍝嶅簲瓒呮椂") + return + } + errTimeOut1 := sock.SetOption(mangos.OptionSendDeadline,time.Millisecond * 1500) + if errTimeOut1 != nil { + logger.Error("鍙戦�佽秴鏃�") + return + } //sock.AddTransport(ipc.NewTransport()) sock.AddTransport(tcp.NewTransport()) serverIP, _ := GetLocalIP() if err = sock.Dial("tcp://"+serverIP+":4012"); err != nil { logger.Error("璇锋眰socket鎷ㄥ彿澶辫触: %s", err.Error()) } - //logger.Info("搴忓垪鍖栨暟鎹�") - initFlag = true + for { select { case data := <- sender: -- Gitblit v1.8.0