---
panlei
2019-07-02 0cbddb6f06c9ebbfe9151b5c3425906786b62a3e
---
2个文件已修改
14 ■■■■ 已修改文件
ruleserver/ruleToformula.go 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
util/simpleCV.go 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -139,7 +139,7 @@
    RuleText    string // 文字版规则组
}
type LittleRuleResult struct {
    SdkName string //记录下此结果是哪个sdk的结果
    SdkName string // 记录下此结果是哪个sdk的结果
    Result  string // 已包含了前置连接符
    Sort    int32
}
@@ -329,14 +329,14 @@
                sdkName := ""
                for j := 0; j < len(groupRule.Rules); j++ {
                    for _, sdkData := range args.Sdkdata {
                        if groupRule.Rules[j].SdkId == sdkData.SdkId && sdkData.IsYolo { // 只记录yolo符合规则的sdk
                        if groupRule.Rules[j].SdkId == sdkData.SdkId && sdkData.IsYolo && !strings.Contains(sdkName,sdkData.SdkName) { // 只记录yolo符合规则的sdk 同时要避免重复拼接
                            sdkName = sdkName + "," + sdkData.SdkName
                        }
                    }
                }
                // 过完规则后打个标签,告诉调用者本帧数据针对哪个任务哪组规则报警了     后加:可能还不够,还需要区分触发报警的对象,后面往es数据库插数据时要用
                args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText})
                log.Println("-------------------结果标签",args.RuleResult["yolo"].([]Result))
                log.Println("-------------------yolo结果标签",args.RuleResult["yolo"].([]Result))
                log.Println("-------------------face结果标签",args.RuleResult["faces"].([]Arg))
                return true
            } else {
                return false
util/simpleCV.go
@@ -173,7 +173,7 @@
    //rook := gocv.IMRead("/home/user/workspace/ruleprocess/util/105.jpg",gocv.IMReadColor)
    defer rook.Close()
    green := color.RGBA{0, 255, 0, 0}
    red := color.RGBA{255, 0, 0, 0}
    //points := [][]image.Point{
    //    {
    //        image.Pt(100., 100),
@@ -190,9 +190,9 @@
        points := ruleserver.Json2points(polygon.Polygon)
        for index := 0; index < len(points); index++ {
            if index == len(points)-1 { // 闭合图形
                gocv.Line(&rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[0].X), int(points[0].Y)), green, 2)
                gocv.Line(&rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[0].X), int(points[0].Y)), red, 2)
            } else {
                gocv.Line(&rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[index+1].X), int(points[index+1].Y)), green, 2)
                gocv.Line(&rook, image.Pt(int(points[index].X), int(points[index].Y)), image.Pt(int(points[index+1].X), int(points[index+1].Y)), red, 2)
            }
        }