1、准备好正负样本图片,正样本就是含有目标的图片,负样本就是不还有目标的图片,建好文件夹,如图所示。其中正样本图片最好是裁剪成同一尺寸,我这里是建成30*30,便于后期的说明文件的建立。图片的编辑我使用的是美图看看,批量编辑工具,可以批量将图片改成同一尺寸。
2、建立正负样本说明文件,在cmd下进入pos文件夹目录里,输入 dir /b > pos.txt,用editplus打开该文件,删除最后一行,最后将名字归一化如下所示:同样的方法进入neg文件夹内,用同样的方法建立描述文件neg.txt,用editplus打开该文件,只需删掉最后一行
3、创建vec文件:将opencv_createsamples.exe和 opencv_traincas艘早祓胂cade.exe放到图片文件夹的上层目录,利用opencv_createsamples.exe应用程序在该目录下使用如图cmd命令: 其中的-vec是指定后面输出vec文件的文件名,-info指定正样本描述文件,-bg指定负样本描述文件,-w和-h分别指正样本的宽和高,-num表示正样本的个数。执行完该命令后就会在当前目录下生产一个pos.vec文件了。
4、使用opencv_traincascade.exe文件进行训练 首先在当前目录下新建一个dt文竭惮蚕斗件夹用于存放生芤晟踔肿成的.xml文件。 在当前目录使用cmd命令:D:\>opencv_traincascade.exe -data dt -vec pos.vec -bg neg/neg.txt -numPos 100 -numNeg 300 -numStages 16 -precalcValbufSize 200 -precalcdxBufSize 1000 -featureType LBP -w 30 -h 30截图如下:其中-data 输出目录,-numPos正样本数目-numNeg负样本数目-numStages训练级数