使用opencv训练自己的检测器(1)

环境:oepncv2.4.9+vs2010(无论何种环境都大同小异)

目的:利用opencv自带的opencv_haartraining.exe训练自己的检测器

步骤:1.首先自建一个文件夹存放该项目(我放置的是“G:\traing_new_cascade”);

            2.将opencv_createsamples.exe和opencv_haartraining.exe放在该目录下,接下来会使用(我的路径是E:\opencv-2.4.9\opencv\build\x86\vc10\bin);

            3.接下来是准备正负样本,正负样本数量看个人,不过要注意几点:1)负样本一定不能重复,要增大负样本的差异性;

                                                                                                                                   2)正样本要归一化同一尺寸.

             具体操作可参考我之前的文章:将图片归一化以及翻转的c++小程序,对样本数据进行处理即可,也可以用我找到的一个资源,下载链接:人脸检测训练样本         

             注:我这里都是将样本统一成了20*20像素的。

             4.用cmd命令行,进入到正样本文件夹内(例如:cd G:\traing_new_cascade\pos_image),使用命令:dir /b >pos_image.txt 

              即可在该文件夹下生成pos_image.txt文件,然后用稍微强一点的编辑器打开,删除掉最后一行,利用“查找和替换”功能,将最后改为如下图形式:                                                 使用opencv训练自己的检测器(1)_第1张图片

            对于 1 0 0 20 20, 其中最后两个数字是长宽,即图片像素若为x*y,即1 0 0 x y.

            同理,对负样本采取同样的操作,然后将生成的两个txt文件,提取到上一层文件夹中,即和步骤2中放置的exe放于同一层目录下




你可能感兴趣的:(open,cv,open,cv)