基于opencv实现adaboost

本文详细介绍了如何基于OpenCV实现Adaboost算法,包括准备正负样本、建立样本说明文件、创建正样本vec文件、训练级联分类器和目标检测的步骤,涉及参数设置和操作技巧。
摘要由CSDN通过智能技术生成

转载请注明出处

一:准备正负样本

正样本:含有兴趣区域的图像

负样本:不含兴趣区域的图像

正样本的大小大致要在32*32-64*64之间,才可以训练

二:建立正负样本说明文件

cmd下进入正/负样本文件夹目录里,

输入  dir /b > 1.txt,回车就会在当前目录下生成1.txt文件,如图:

 

打开该文件,正样本的txt文件需要加上大小描述:

201772115484.jpg 1 0 0  48 48

(1表示图片包含一个正样本目标,0 0 48 48表示矩形区域)

201706261706216_0.jpg 1 0 0 48 48

201706261706419_1.jpg 1 0 0 48 48

201706261706432_2.jpg 1 0 0 48 48

201706261706446_3.jpg 1 0 0 48 48

如果.exe工程文件在样本目录上一级,则不需要在图片名加目录。

如不是请在图片名前边加上目录,如:

posData/201706261706432_2.jpg 1 0 0 48 48

同样的方法进入neg文件夹内,用同样的方法建立描述文件neg.txt,负样本不需要大小描述,如:

201772115484.jpg

三:创建正样本vec文件:

opencv_createsamples.exe和 opencv_traincascade.exe(都在opencv安装的bin目录下,D:\Program\opencv-2.4.11\opencv\build\x86\vc12\bin。。。。这是我的安装目录)放到图片文件夹的上层目录,需要用到opencv_createsamples.exe工具

 

 

然后创建一个.bat文件,写入下面的命令,双击即可使用

D:\\samples_set\\zhangkun\\SFR\\singleIMG_recog\\opencv_createsamples.exe -vec 1.vec -info 1/1.txt -bg 0/0.txt -w 48 -h 48 -num 15570

其中的-vec是指定后面输出vec文件的文件名,-info指定正样本描述文件,-bg指定负样本描述文件,-w和-h分别指正样本的宽和高,-num表示正样本的个数。执行完该命令后就会在当前目录下生产一个1.vec文件了。

四:训练级联分类器

训练的.bat文件

D:\\samples_set\\zhangkun\\SFR\\singleIMG_recog\\opencv_traincascade.exe -data dt -vec 1.vec -bg 0/0.txt -numPos 15570 -numNeg 12908 -numSta

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值