panlei
2019-11-21 7118f75c841fe105202b5336d894bfc0ed0dd17f
车牌换车辆
5个文件已修改
86 ■■■■ 已修改文件
algorithm/car/plate.go 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/readyData.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.sum 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
structure/rule.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/car/plate.go
@@ -47,48 +47,36 @@
        for _, arg := range args {
            var formula string
            switch rule.SdkArgAlias {
                case "score":
                    formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("相似度小公式:", formula)
                case "proportion":
                    formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("占比公式:", formula)
                case "size":
                    formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("尺寸小公式:", formula)
                case "license":
                    formula = arg.Car.License + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("当前车牌号码小公式:", formula)
                case "nColor":
                    formula = strconv.Itoa(int(arg.Car.NColor)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车牌颜色小公式:", formula)
                case "nConfidence":
                    formula = strconv.Itoa(int(arg.Car.NConfidence)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("整牌可信度小公式:", formula)
                case "nBright":
                    formula = strconv.Itoa(int(arg.Car.NBright)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车牌亮度评价小公式:", formula)
                case "nDirection":
                    formula = strconv.Itoa(int(arg.Car.NDirection)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车牌运动方向小公式:", formula)
                case "nCarBright":
                    formula = strconv.Itoa(int(arg.Car.NCarBright)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车的亮度小公式:", formula)
                case "nCarColor":
                    formula = strconv.Itoa(int(arg.Car.NCarColor)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车的颜色小公式:", formula)
                case "nCarLogo":
                    formula = strconv.Itoa(int(arg.Car.NCarLogo)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车标类型小公式:", formula)
                case "nCarType":
                    formula = strconv.Itoa(int(arg.Car.NCarType)) + " " + rule.Operator + " " + rule.SdkArgValue
                    logger.Info("车辆类型小公式:", formula)
                //case "nCarModel":
                //    formula = strconv.Itoa(int(arg.Car.ncm)) + " " + rule.Operator + " " + rule.SdkArgValue
                //    logger.Info("识别成功与否小公式:", formula)
                //case "nCarModelConfidence":
                //    formula = strconv.Itoa(int(arg.Car.NCarModelConfidence)) + " " + rule.Operator + " " + rule.SdkArgValue
                //    logger.Info("车型可信度小公式:", formula)
            case "fVDConf":
                formula = strconv.FormatFloat(arg.Score, 'f', -1, 32) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车辆置信度小公式:", formula)
            case "nVehicleColor1":
                formula = strconv.Itoa(int(arg.Car.NVehicleColor1)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车身主颜色小公式:", formula)
            case "nVehicleColor2":
                formula = strconv.Itoa(int(arg.Car.NVehicleColor2)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车身辅颜色小公式:", formula)
            case "fConfidence":
                formula = arg.Car.VehicleType1 + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车辆类型小公式:", formula)
            case "nVehicleBright":
                formula = strconv.Itoa(int(arg.Car.NVehicleBright)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车辆亮度小公式:", formula)
            case "nPlateFlag":
                formula = strconv.Itoa(int(arg.Car.NPlateFlag)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("识别到车牌小公式:", formula)
            case "license":
                formula = arg.Car.License + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车牌号码小公式:", formula)
            case "nConfidence":
                formula = strconv.Itoa(int(arg.Car.NConfidence)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车牌可信度小公式:", formula)
            case "nColor":
                formula = strconv.Itoa(int(arg.Car.NColor)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车牌颜色小公式:", formula)
            case "nType":
                formula = strconv.Itoa(int(arg.Car.NType)) + " " + rule.Operator + " " + rule.SdkArgValue
                logger.Info("车牌类型小公式:", formula)
            }
            expression, _ := govaluate.NewEvaluableExpression(formula) // 得到数学公式
            result, _ := expression.Evaluate(nil)                      // 得到数学公式的结果
@@ -124,7 +112,7 @@
    //args := am.targetNum     targetNum 已成所有目标的总数量,这里只算yolo的
    var num int = len(am.FilterData)
    formula := strconv.Itoa(num) + " " + rule.Operator + " " + rule.SdkArgValue
    logger.Info("车牌数量公式",formula)
    logger.Info("车辆数量公式",formula)
    expression, _ := govaluate.NewEvaluableExpression(formula) // 得到数学公式
    result, _ := expression.Evaluate(nil)                      // 得到数学公式的结果
    return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort}
algorithm/middleware/readyData.go
@@ -180,7 +180,7 @@
                }
                for _, info := range plateIDResult.Result {
                    logger.Info("接收车牌数据:",info)
                    photoMap := structure.PhotoMap{Id: info.License,Score: float64(info.NConfidence),Rects: rectFormat(info.RcLocation), Type: "plate", Car:info}
                    photoMap := structure.PhotoMap{Id: info.License,Score: float64(info.FvdConf),Rects: rectFormat(info.RcCarLocation), Type: "plate", Car:info}
                    arg.Photo = append(arg.Photo, photoMap)
                }
                args.Sdkdata = append(args.Sdkdata, &arg)
go.mod
@@ -6,7 +6,7 @@
    basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5
    basic.com/fileserver/WeedFSClient.git v0.0.0-20191105073656-98059e699477
    basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48
    basic.com/pubsub/protomsg.git v0.0.0-20191115030536-80cf78e0ebea
    basic.com/pubsub/protomsg.git v0.0.0-20191121033547-7af037c469a7
    basic.com/valib/deliver.git v0.0.0-20190927081905-2d390df9ede3
    basic.com/valib/gopherdiscovery.git v0.0.0-20190605034340-15d89d8b4e28
    basic.com/valib/logger.git v0.0.0-20190928113028-4907b08c4159
go.sum
@@ -16,6 +16,10 @@
basic.com/pubsub/protomsg.git v0.0.0-20191105082616-7a5fc5da9c09/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20191115030536-80cf78e0ebea h1:HARRdW2p9asDLBMmJWpt1ECv3GDGCJN5ELb/RhCXUqQ=
basic.com/pubsub/protomsg.git v0.0.0-20191115030536-80cf78e0ebea/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20191121023847-bd1d8f822f8f h1:XEoI9zjhmbdNToAYCBa5n7EjwUqpcdyIIm/XC9Iwsjs=
basic.com/pubsub/protomsg.git v0.0.0-20191121023847-bd1d8f822f8f/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/protomsg.git v0.0.0-20191121033547-7af037c469a7 h1:JFN0eyyRZ2Ty/FMtoCGHDtEcJdQrIkpGfHcKk2N4IQs=
basic.com/pubsub/protomsg.git v0.0.0-20191121033547-7af037c469a7/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00 h1:sK+Tx7rvM9J2WnNIwrzMDjZSylWiKNfQO0prUBfKsDk=
basic.com/pubsub/sdkcompare.git v0.0.0-20190715013640-f536a4647d00/go.mod h1:8by33F9E1w17Pw/rDgJGJXAo122w0wDENG14hiMS+RE=
basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051 h1:9flC2o3kasaM2Y6I+mY+mxmve/pyAY/UzGQZLT3lFHM=
structure/rule.go
@@ -14,7 +14,7 @@
    AreaJson   string  // 所属区域
    Type       string  // 记载数据类型
    Location   Rect    // 记下每个目标的位置参数,最后给结果装配目标数据的时候用的到
    Car           *protomsg.PlateID // 车辆参数
    Car           *protomsg.PlateIDVehicle // 车辆参数
    Feature    []byte
    ThftRes    protomsg.ThftResult
    Liker      []*BaseInfo
@@ -49,7 +49,7 @@
    Type      string  // 记载数据类型
    ThftRes protomsg.ThftResult
    Feature []byte
    Car        *protomsg.PlateID
    Car        *protomsg.PlateIDVehicle
}
// 每个算法对于当前帧画面自己提取的数据