创建vec文件:将opencv_createsamples.exe和opencv_traincascade.exe放到图片文件夹的上层目录,利用opencv_createsamples.exe应用程序在该目录下使用如图cmd命令:
其中的-vec是指定后面输出vec文件的文件名,-info指定正样本描述文件,-bg指定负样本描述文件,-w和-h分别指正样本的宽和高,-num表示正样本的个数。执行完该命令后就会在当前目录下生产一个pos.vec文件了。
所以这个.exe可执行文件的作用就是生成.vec文件。而这个生成的.vec文件有什么作用呢?
答:opencv_createsamples用来准备训练用的正样本数据和测试数据。opencv_createsamples能够生成能被opencv_haartraining和opencv_traincascade程序支持的正样本数据。他的输出是以.vec为扩展名的文件,该文件以二进制方式存储图像。现在知道.vec文件的作用了吧。简单点说就是:它存储了一些可以被opencv_haartraining和opencv_traincascade使用的数据,而这些数据在下面要用到。
step4:
使用opencv_traincascade.exe文件进行训练
首先在当前目录下新建一个dt文件夹用于存放生成的.xml文件。
在当前目录使用cmd命令:
D:\>opencv_traincascade.exe -data dt -vec pos.vec -bgneg/neg.txt -numPos 67 -n
umNeg 300 -numStages 16 -precalcValbufSize 200 -precalcdxBufSize1000 -featureTy
pe LBP -w 100 -h 50
其中-data 输出目录,-numPos正样本数目-numNeg负样本数目-numStages训练级数
![opencv之利用opencv_traincascade级联分类器训练.xml文件 opencv之利用opencv_traincascade级联分类器训练.xml文件](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![opencv之利用opencv_traincascade级联分类器训练.xml文件 opencv之利用opencv_traincascade级联分类器训练.xml文件](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
如果想知道详细的各个参数和信息和每个参数代表的意思以及更详细的训练步骤。请参考http://blog.csdn.net/liulina603/article/details/8598681
训练的时候需要注意的一些事项