美文网首页
Golang 常用的第三方包.

Golang 常用的第三方包.

作者: 恒忏 | 来源:发表于2017-12-28 11:20 被阅读0次

    Goland 功能很赞,一大批小白鼠🐁使用
    正式版收费好贵

    Goland 下面这个license server 可用
    http://idea.youbbs.org (2018-01-10 04:26:09)
    http://45.77.127.87:81(2018-02-24 13:54:31)
    https://jetlicense.nss.im (from blog.csdn.net/bug_creator/article/details/79306359)

    go get github.com/go-sql-driver/mysql
    go get github.com/go-xorm/xorm
    go get github.com/nfnt/resize
    go get github.com/tidwall/gjson
    

    https://www.youtube.com/watch?v=rbZeZNVA-Q4
    图像分析.脸部识别.OpenCV.gocv
    机器学习.开源项目 docker容器.MachineBox. 脸部身份识别,自然语言理解..

    machinebox.io => docker.image... 需要注册?...
    https://hub.docker.com/r/machinebox/facebox/
    docker pull machinebox/facebox

    //终端:
    docker run .... machinebox/facebox //机器学习.图像分析工具
    // http://localhost:8080 开始接收 API 调用. 也可以上传图片并设置姓名 == 训练
    

    Golang.packagemain:
    MAC:
    brew install opencv3 //Mac 下安装软件和服务的标准方法
    opencv还需要设置一些环境变量

    go get gocv.io/x/gocv
    测试是否安装正确:go run $GOPATH/src/gocv.io/x/gocv/cmd/version/main.go
    显示版本信息 == 正确.

    package main
    import (
        "gocv.io/x/gocv"
    )
    
    func main(){
        webcam,err:=gocv.VideoCaptureDevice(0) //0默认值
        ...
        img:=gocv.NewMat()
        win:=gocv.NewWindow("window name")
        ...
        for{
            webcam.Read(img) //从摄像头抓图
            win.IMShow(img)
            win.WaitKey(500) //帧频相当低.看着卡顿,对 CPU 友好.
        }    
    }
    

    opencv.gocv... NewMat,NewWindow,IMShow....

    ...

    a:=gocv.NewCascadeClassifiler()  
    a.Load("xxxxxxxxxxxxxxx.xml") //加载人脸识别算法的 XML 描述文件.
    ...
    rects:=a.DetectMultiScale(img) //从当前抓取的图片上,找出所有的人脸位置.
    //rect: 长方形区域.
    for _,r range rects {
        gocv.PutText(..........) //在图上写字
        gocv.Ractangle(..........)  //在图上画框
    }
    
    //以上完成人脸识别
    
    import "github.com/machinebox/sdk-go/facebox"
    
    //初始化一个 facebox 全局变量
    var fbox = facebox.New("http://localhost:8080") 
    
    img:=gocv.NewMat()
    webcam.Read(img) //从摄像头抓图
    
    //从当前抓取的图片上,找出所有的人脸位置.
    rects:=a.DetectMultiScale(img) //rect: 长方形区域.
    
    for _,r range rects {
      imgFace := img.Region(r)
      buff,err:=gocv.IMEncode(".jpg",imgFace) //buff == bytes of the image
      faces,err: = fbox.Check(bytes.NewReader(buff)) 
      //Check() 的参数,要求是 Reader
      //faces[0].Name == 机器学习工具返回:识别到的人的姓名.
    }
    //以上完成身份识别
    

    相关文章

      网友评论

          本文标题:Golang 常用的第三方包.

          本文链接:https://www.haomeiwen.com/subject/iivmgxtx.html