| | |
| | | package main |
| | | |
| | | import ( |
| | | "basic.com/pubsub/protomsg.git" |
| | | logger "github.com/alecthomas/log4go" |
| | | "github.com/knetic/govaluate" |
| | | "ruleprocess/structure" |
| | | "strconv" |
| | | "basic.com/pubsub/protomsg.git" |
| | | "github.com/knetic/govaluate" |
| | | "ruleprocess/structure" |
| | | "strconv" |
| | | ) |
| | | |
| | | // 车牌算法 |
| | |
| | | func Entrance(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult { |
| | | if rule.PolygonId == am.AreaId { // 首先这条规则得是这个算法的规则,其次规则所对应的区域id要跟区域数据的id对的上 |
| | | if rule.SdkArgAlias != "nCarCount" { |
| | | logger.Info("过滤车牌信息") |
| | | //logger.Info("过滤车牌信息") |
| | | return filterRule(rule, am) |
| | | } else { |
| | | logger.Info("计算车牌车辆数量") // 目前只能检测出车牌数量 |
| | | //logger.Info("计算车牌车辆数量") // 目前只能检测出车牌数量 |
| | | return transferParameters(rule, am) |
| | | } |
| | | } else { |
| | |
| | | rule.SdkArgAlias == "fVDConf" || rule.SdkArgAlias == "nVehicleColor2" || rule.SdkArgAlias == "nColor" || rule.SdkArgAlias == "nPlateFlag" |
| | | |
| | | if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || carFlag{ // 判断的是相似值,占比,尺寸等过滤条件,如果再有,还可以再加 |
| | | logger.Debug("---------走了车牌识别过滤算法",rule.Id,rule.SdkArgAlias,rule.Operator,rule.SdkArgValue,am.AreaId) |
| | | //logger.Debug("---------走了车牌识别过滤算法",rule.Id,rule.SdkArgAlias,rule.Operator,rule.SdkArgValue,am.AreaId) |
| | | var args []*structure.Arg |
| | | if rule.RuleWithPre == "&&" { |
| | | args = am.FilterData |