---
panlei
2019-11-14 ce22ceb14ef0cb7091a2bbffd87e51808f5bb708
algorithm/static/static.go
@@ -95,6 +95,11 @@
}
// 判断一个区域内有没有静止的目标
func CompareAndSave(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult {
   defer func() {
      if err := recover(); err != nil {
         logger.Error("个体静止规则有误", err)
      }
   }()
   logger.Info("走了个体静止核心算法")
   initN := 5
   if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" {
@@ -104,7 +109,12 @@
         initN = init
      }
   }
   logger.Info("看一下静止区域内的目标:",am.AreaId)
   for _, tar := range structure.StaticMap[am.AreaId].Targets {
      logger.Info("具体目标:",tar.Location)
   }
   if 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}
@@ -113,6 +123,7 @@
      structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
      return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
   } else {
      logger.Info("之前有缓存")
      flag := "false"
      // 以之前静止的对象为主判断是否静止
      tars := []*structure.Arg{}