panlei
2019-07-02 6781975abd55415ca3af34996c37e59f3c74c0a3
改下上传方式,用画框方法内置上传
2个文件已修改
34 ■■■■■ 已修改文件
insertdata/insertDataToEs.go 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
util/simpleCV.go 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
insertdata/insertDataToEs.go
@@ -197,8 +197,13 @@
            }
            i := protomsg.Image{}
            err = proto.Unmarshal(bdata, &i)
            resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
            log.Println("已报警并上传改帧图片到服务器")
            //resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
            resp, err =util.DrawPolygonOnImage(i)
            if err != nil {
                log.Println("画框或上传图片服务器出错",err)
            }else{
                log.Println("已报警并上传改帧图片到服务器")
            }
        } else {
            isAlarm = "0"
            // 不是报警数据不存
util/simpleCV.go
@@ -1,6 +1,7 @@
package util
import (
    "basic.com/pubsub/protomsg.git"
    "bufio"
    "bytes"
    "encoding/json"
@@ -158,15 +159,15 @@
    }
}
func DrawPolygonOnImage()(maps map[string]interface{}, err0 error){
func DrawPolygonOnImage(img protomsg.Image)(maps map[string]interface{}, err0 error){
    // draw the rook
    ddd, err := RetrieveROM("/home/user/workspace/ruleprocess/util/105.jpg")
    if err != nil {
        fmt.Println("解码有误",err)
    }
    bbb := bytes.NewBuffer(ddd)  // 必须加一个buffer 不然没有read方法就会报错
    rook,_ := gocv.IMDecode(bbb.Bytes(),gocv.IMReadColor)
    //rook, _ := gocv.NewMatFromBytes(500, 500, gocv.MatTypeCV8UC3, bates)
    //ddd, err := RetrieveROM("/home/user/workspace/ruleprocess/util/105.jpg")
    //if err != nil {
    //    fmt.Println("解码有误",err)
    //}
    //bbb := bytes.NewBuffer(ddd)  // 必须加一个buffer 不然没有read方法就会报错
    //rook,_ := gocv.IMDecode(bbb.Bytes(),gocv.IMReadColor)
    rook, _ := gocv.NewMatFromBytes(int(img.Height), int(img.Width), gocv.MatTypeCV8UC3, img.Data)
    //rook := gocv.IMRead("/home/user/workspace/ruleprocess/util/105.jpg",gocv.IMReadColor)
    defer rook.Close()
@@ -180,10 +181,10 @@
    //    },
    //}
    //gocv.FillPoly(&rook, points, green)
    gocv.Line(&rook, image.Pt(100, 100), image.Pt(100, 250), green, 2)
    gocv.Line(&rook, image.Pt(100, 250), image.Pt(250, 250), green, 2)
    gocv.Line(&rook, image.Pt(250, 250), image.Pt(250, 100), green, 2)
    gocv.Line(&rook, image.Pt(250, 100), image.Pt(100, 100), green, 2)
    gocv.Line(&rook, image.Pt(100, 100), image.Pt(100, 800), green, 2)
    gocv.Line(&rook, image.Pt(100, 800), image.Pt(800, 800), green, 2)
    gocv.Line(&rook, image.Pt(800, 800), image.Pt(800, 100), green, 2)
    gocv.Line(&rook, image.Pt(800, 100), image.Pt(100, 100), green, 2)
    //return nil,nil
    // 上传