emgucv 识别器训练简单步骤(内容很多但是我不高兴写)
1、去网上下载CMake 用来编译OpenCV 编译后得到opencv_createsamples.exe 与 opencv_traincascade.exe
2、运行两个exe 将缺少的dll一同找出来放入你的训练目录下
3、准备训练用的正负样本图片 负样本最好比正样本多大概3:1的样子
4、运行cmd将路径指向你opencv_createsamples.exe 与 opencv_traincascade.exe所在目录
5、建立两个存放正负样本文件的目录 正样本图片大小最好在20*20 灰度图 bmp格式 然后生成一个描述文件里面存放正样本照片相对路径比如 pos_image\image001.bmp 1 0,0,20,20 后面为样本类型与样本大小 负样本描述不需要类型与大小直接相对路径就可以
6、执行命令opencv_createsamples.exe -vec pos.vec -info pos_image\\pos_image.txt -bg neg_imge\\neg_image.txt -w 20 -h 20 -num 样本数量 生成正样本
7、opencv_traincascade.exe -data data -vec pos.vec -bg neg_image/neg_image.txt -npos 20 -nneg 60 -precalcValBufSize 1 -precalcIdxBufSize 1 -mode ALL -w 20 -h 20 -nstages 14 开始训练过程很长,长的让我觉得我已经没必要搞下去了
临时结语:本来想用.net认真搞一套的,但是发现坑挺深的遂自己封装了下命令做了一个.net训练器 有兴趣可以自己下载运行下 不保证运行成功 代码水平有限渣渣一个http://pan.baidu.com/s/1kU6R7b5 内含样本与完整代码