---
panlei
2019-12-17 3ff1af612ee690063dceb5aa9a6e9791e6d9a943
structure/rule.go
@@ -6,26 +6,27 @@
// 每个目标的参数:相似度,占比,尺寸
type SourceArg struct {
   Id            string
   Uuid          string
   Score         float64                  // 区域内的目标的相似度
   Proportion    float64                  // 区域内的目标的占比
   Size          float64                  // 区域内的目标的尺寸
   AreaJson      string                   // 所属区域
   Type          string                   // 记载数据类型
   Location      Rect                     // 记下每个目标的位置参数,最后给结果装配目标数据的时候用的到
   Car           *protomsg.PlateIDVehicle // 车辆参数
   Feature       []byte
   ThftRes       protomsg.ThftResult
   Liker         []*BaseInfo
   TimeLable     string
   CacheData     ResultMsg
   Id          string
   Uuid        string
   Score       float64                  // 区域内的目标的相似度
   Proportion  float64                  // 区域内的目标的占比
   Size        float64                  // 区域内的目标的尺寸
   AreaJson    string                   // 所属区域
   Type        string                   // 记载数据类型
   Location    Rect                     // 记下每个目标的位置参数,最后给结果装配目标数据的时候用的到
   Car         *protomsg.PlateIDVehicle // 车辆参数
   Feature     string
   ThftRes     protomsg.ThftResult
   Liker       []*BaseInfo
   TimeLable   string
   CacheData   ResultMsg
}
type Arg struct {
   SourceArg
   AttachArg SourceArg
}
// 每个区域内的图片数据集合
type AreaMap struct {
   CameraId      string
@@ -45,15 +46,20 @@
   IsEffective   bool   // 规则中是否用到了此区域
}
type SourcePhoto struct {
   Id          string
   Rects       Rect    // 矩形区域参数
   Score       float64 // 相似度得分(有多大程度像一个目标。人脸,人体或车等等)
   Type        string  // 记载数据类型
   ThftRes     protomsg.ThftResult
   Feature     string
   Car         *protomsg.PlateIDVehicle
}
// sdk输出的图片上单个目标的数据
type PhotoMap struct {
   Id      string
   Rects   Rect    // 矩形区域参数
   Score   float64 // 相似度得分(有多大程度像一个目标。人脸,人体或车等等)
   Type    string  // 记载数据类型
   ThftRes protomsg.ThftResult
   Feature []byte
   Car     *protomsg.PlateIDVehicle
   SourcePhoto
   AttachObj SourcePhoto
}
// 每个算法对于当前帧画面自己提取的数据
@@ -83,13 +89,12 @@
// 过规则库打上的标签
type Result struct {
   TaskId       string // 任务id
   SdkName      string
   SdkName      string // 算法名称
   RuleGroupId  string // 规则组id
   DefenceState bool   // 是否布防
   AlarmLevel   int32  // 报警等级
   RuleText     string // 文字版规则组
   //Location     []TargetInfo // 目标的坐标
   AlarmObj     []*Arg // 报警的目标数据  打算废掉上面的Location
   AlarmObj     []*Arg // 报警的目标数据
   AlarmPolygon string // 触发的报警框
   IsLink       bool   // 是否是联动任务
   Others
@@ -108,7 +113,8 @@
type LittleRuleResult struct {
   SdkName string // 记录下此结果是哪个sdk的结果
   Result  string // 已包含了前置连接符
   Sort    int32
   Sort    int32  // 规则序号
   Target  []*Arg
}
type TimeRange struct {