panlei
2019-12-13 0d09a786f95b931ee3cdb60a74b291d8ba618c7d
整理代码
2个文件已修改
73 ■■■■ 已修改文件
algorithm/face/face.go 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/middleware.go 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/face/face.go
@@ -81,9 +81,6 @@
                            }
                        }
                        am.TargetNum = len(am.FilterData) // 把符合条件的目标数量更新到targetNum字段
                        if rule.RuleWithPre == "contain" {
                        }
                        if am.TargetNum > 0 {
                            //logger.Info("!!!!!!!!!人脸检测成功")
                            return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
algorithm/middleware/middleware.go
@@ -99,41 +99,41 @@
        }
    }
    // 人脸
    for j := 0; j < len(groupRule.Rules); j++ {
        if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias != "time_rule"{
            for _, sdkData := range args.Sdkdata {
                // 根据规则的sdkId查出其对应的ipcId,用ipcId去找该比对的数据
                sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
                if err != nil {
                    logger.Error("没查到sdk的信息---", err)
                }
                ipcId := sdk.IpcId
                sdkName := sdk.SdkName
                //logger.Info("规则的ipcId与sdkData的IpcId:", ipcId, "===", sdkData.IpcId)
                if ipcId == sdkData.IpcId {
                    //logger.Info("当前走的规则是--:", sdkName, "---","")
                    for _, areaMap := range sdkData.AreaMapList {
                        ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
                        if ruleResult.Result != "" {
                            //logger.Info("人脸比对规则结果:", ruleResult.Result)
                            // 如果结果为真,把这条规则中的区域置为有效
                            if strings.Contains(ruleResult.Result, "true") {
                                areaMap.IsEffective = true
                            }
                            // 如果此结果为真且当前过的是yolo算法,应记下此规则所对应的sdkName,另外,还要去重 (后加:把此条触碰的区域id也记录下来)
                            if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                                sdkNames = sdkName + " "
                            }
                            if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                                polygonId += groupRule.Rules[j].PolygonId + ","
                            }
                            resultSplice = append(resultSplice, &ruleResult)
                        }
                    }
                }
            }
        }
    }
    //for j := 0; j < len(groupRule.Rules); j++ {
    //    if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias != "time_rule"{
    //        for _, sdkData := range args.Sdkdata {
    //            // 根据规则的sdkId查出其对应的ipcId,用ipcId去找该比对的数据
    //            sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
    //            if err != nil {
    //                logger.Error("没查到sdk的信息---", err)
    //            }
    //            ipcId := sdk.IpcId
    //            sdkName := sdk.SdkName
    //            //logger.Info("规则的ipcId与sdkData的IpcId:", ipcId, "===", sdkData.IpcId)
    //            if ipcId == sdkData.IpcId {
    //                //logger.Info("当前走的规则是--:", sdkName, "---","")
    //                for _, areaMap := range sdkData.AreaMapList {
    //                    ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
    //                    if ruleResult.Result != "" {
    //                        //logger.Info("人脸比对规则结果:", ruleResult.Result)
    //                        // 如果结果为真,把这条规则中的区域置为有效
    //                        if strings.Contains(ruleResult.Result, "true") {
    //                            areaMap.IsEffective = true
    //                        }
    //                        // 如果此结果为真且当前过的是yolo算法,应记下此规则所对应的sdkName,另外,还要去重 (后加:把此条触碰的区域id也记录下来)
    //                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
    //                            sdkNames = sdkName + " "
    //                        }
    //                        if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
    //                            polygonId += groupRule.Rules[j].PolygonId + ","
    //                        }
    //                        resultSplice = append(resultSplice, &ruleResult)
    //                    }
    //                }
    //            }
    //        }
    //    }
    //}
    // 个体静止
    for j := 0; j < len(groupRule.Rules); j++ {
        if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && groupRule.Rules[j].SdkArgAlias == "duration"{