---
panlei
2019-11-14 ce22ceb14ef0cb7091a2bbffd87e51808f5bb708
---
1个文件已修改
7 ■■■■■ 已修改文件
algorithm/static/static.go 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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" {
@@ -109,6 +114,7 @@
        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}
@@ -117,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{}