opencv ubuntu golang

zzdglf · · 2814 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

安装

#3.4.2
sudo apt-get install opencv

sudo apt-get install golang-1.9

vi ~/.profile

export GOPATH=$HOME/Desktop/GoPath
export PATH=$PATH:$GOPATH/bin

:wq!
#https://github.com/hybridgroup/gocv
#version 0.14.0
go get gocv.io/x/gocv

gocv

        //灰度图
        gocv.CvtColor(img,&grayMat, gocv.ColorRGBAToGray)
        //均值滤波
        gocv.Blur(grayMat, &canny, image.Point{3,3})
        //边缘检测
        gocv.Canny(grayMat, &canny, 125, 225)
        //二值化处理,非黑即白图片
        gocv.Threshold(canny, &binaryMat, 165, 255, gocv.ThresholdBinary)
        //中值滤波
        gocv.MedianBlur(binaryMat,&binaryMat,3)
        //创建一个40x40的Mat
        element_9 := gocv.NewMatWithSizeFromScalar(gocv.NewScalar(1,1,1,255), 40, 40, gocv.MatTypeCV8U)
        defer element_9.Close()
        //将图片binaryMat 中 + - 40 距离的连通矩形 连在一起
        gocv.MorphologyEx(binaryMat,&element_9,gocv.MorphCross, element_9)
        //寻找连通矩形
        contoursList := gocv.FindContours(element_9, gocv.RetrievalCComp,gocv.ChainApproxNone)


        for _,contours := range(contoursList){
            rect := gocv.BoundingRect(contours)
            gocv.Rectangle(&img,rect,blue,1)
        }

准备数据

mkdir opencv_data
cd opencv_data
#放置训练数据图片(大小一致)
mkdir img
#放置纯背景图片
mkdir neg_img
#根据提示操作,选择需要识别的区域
opencv_annotation --annotations=positive.txt --images=img

#将positive.txt中的图片对应的矩阵放置到 positive_sample.vec中等待训练使用
opencv_createsamples -info positive.txt -vec positive_sample.vec -num 66 -w 100 -h 63

训练数据

mkdir data
opencv_traincascade -data data -vec positive_sample.vec -bg negative.txt -numPos 66 -numNeg 7 -numStage 15  -w 100 -h 63 -minHitRate 0.99 -maxFalseAlarmRate 0.5 -mode ALL -featureType HAAR -precalcValBufSize 4048 -precalcIdxBufSize 4048 -numThreads 24

//Required leaf false alarm rate achieved. Branch training terminated 
//样本太少


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:zzdglf

查看原文:opencv ubuntu golang

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2814 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传