adaboost haar分类器训练1(opencv2.4.10版本)
使用createPositiveSamples制作工具opencv_createsamples.exe,来制造正样本。
(1)建立一个名为xx.bat批处理文件,其内容大概如下:
cd D:\test\createPositiveSamples\byIndividualImage//进入分类器制作工具所在的文件目录
opencv_createsamples.exe -img pos.bmp -bg bgimg.txt -vec vec.txt -num 8000 -w 20 -h 50 -show//制作样本所要设置的一些参数;bgimg.txt 是背景描述文件,里面使用两张图像;生成的正样本结果保存在vec.txt里面;-num 8000要产生8000个样本;-w 20 -h 50产生正样本的宽度为20,高度为50;-show在制作时可以看到结果,可以省略不写。
pause //暂停
(2)建立背景描述文件bgimg.txt(在制作样本所要设置的一些参数要用到)。
./bgimg/bg1.bmp
./bgimg/bg2.bmp
其中/bgimg/是D:\test\createPositiveSamples\byIndividualImage目录中的一个文件夹,里面存放有bg1.bmp和bg2.bmp两幅图像。
命令行参数:
-vec <vec_file_name> 训练好的正样本的输出文件名。 -img<image_file_name> 源目标图片(例如:一个公司图标) -bg<background_file_name> 背景描述文件。 -num<number_of_samples> 要产生的正样本的数量,和正样本图片数目相同。
-bgcolor<background_color> 背景色(假定当前图片为灰度图)。背景色制定了透明色。对于压缩图片,颜色方差量由bgthresh参数来指定。则在bgcolor-bgthresh和bgcolor+bgthresh中间的像素被认为是透明的。 -bgthresh<background_color_threshold>
-inv 如果指定,颜色会反色 -randinv 如果指定,颜色会任意反色 -maxidev<max_intensity_deviation> 背景色最大的偏离度。 -maxangel<max_x_rotation_angle> -maxangle<max_y_rotation_angle>, -maxzangle<max_x_rotation_angle> 最大旋转角度,以弧度为单位。
-show 如果指定,每个样本会被显示出来,按下"esc"会关闭这一开关,即不显示样本图片,而创建过程继续。这是个有用的debug选项。 -w<sample_width> 输出样本的宽度(以像素为单位) -h《sample_height》 输出样本的高度,以像素为单位。 注:正样本也可以从一个预先标记好的图像集合中获取。这个集合由一个文本文件来描述,类似于背景描述文件。每一个文本行对应一个图片。每行的第一个元素是图片文件名,第二个元素是对象实体的个数。后面紧跟着的是与之匹配的矩形框(x, y, 宽度,高度)
命令行参数:
-vec <vec_file_name> 训练好的正样本的输出文件名。 -img<image_file_name> 源目标图片(例如:一个公司图标) -bg<background_file_name> 背景描述文件。 -num<number_of_samples> 要产生的正样本的数量,和正样本图片数目相同。 -bgcolor<background_color> 背景色(假定当前图片为灰度图)。背景色制定了透明色。对于压缩图片,颜色方差量由bgthresh参数来指定。则在bgcolor-bgthresh和bgcolor+bgthresh中间的像素被认为是透明的。 -bgthresh<background_color_threshold> -inv 如果指定,颜色会反色 -randinv 如果指定,颜色会任意反色 -maxidev<max_intensity_deviation> 背景色最大的偏离度。 -maxangel<max_x_rotation_angle> -maxangle<max_y_rotation_angle>, -maxzangle<max_x_rotation_angle> 最大旋转角度,以弧度为单位。 -show 如果指定,每个样本会被显示出来,按下"esc"会关闭这一开关,即不显示样本图片,而创建过程继续。这是个有用的debug选项。 -w<sample_width> 输出样本的宽度(以像素为单位) -h《sample_height》输出样本的高度,以像素为单位。 注:正样本也可以从一个预先标记好的图像集合中获取。这个集合由一个文本文件来描述,类似于背景描述文件。每一个文本行对应一个图片。每行的第一个元素是图片文件名,第二个元素是对象实体的个数。后面紧跟着的是与之匹配的矩形框(x, y, 宽度,高度)
(3)双击xx.bat文件运行,最后得到如下结果,如图: