ITKeyword,专注技术干货聚合推荐

注册 | 登录

OpenCV编程->Haar训练(4)

sunboyiris 分享于 2014-04-21

推荐:OpenCV编程->Haar训练(1)

首先建好正负样本库: 对负样本库操作: 得到neg.txt。 对正样本库操作: 得到pos.txt: 安装好EditPlus后打开pos.txt Ctrl+A --->   Ctrl +Tab Ctrl+H Ctrl +H g

2020腾讯云“6.18”活动开始了!!!(巨大优惠重现!4核8G,5M带宽 1999元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1059

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

前段时间跑Haartraining.exe的数据生成了如下的数据:


打开0文件夹:




里面数据如上,在此:没有生成xml文件。

解决方案:

方案一:

个人经验,是负样本有问题,解决方案(成功通过):
1。卡在某一层后,按ctrl+c结束
2。更新你的负样本
3。不要删除已经训练出的cascade
4。继续训练,请注意是否要改动-nneg参数
P.S. 要haarconv.exe邮件至:amadeuzou at gmail.com

推荐:opencv haar训练--训练样本(4)

1.海尔训练 现在,我们使用haartraining.exe来训练我们自己的分类器。训练语句如下: Usage: ./haartraining   -data <dir_name>   -vec <vec_file_name>   -bg

来自:http://bbs.csdn.net/topics/340228399

方案二:

OpenCV的yahoo论坛上可以找到一个haarconv的程序,才将分类器转换为xml文件。

在opencv2.4.8的文件夹里面找到了haarconv的源码如下(在目录OpenCV/samples/c/convert_cascade.c):

#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"

#include <ctype.h>
#include <stdio.h>

static void help(void)
{
    printf("\n This sample demonstrates cascade's convertation \n"
    "Usage:\n"
    "./convert_cascade --size=\"<width>x<height>\"<convertation size> \n"
    "                   input_cascade_path \n"
    "                   output_cascade_filename\n"
    "Example: \n"
    "./convert_cascade --size=640x480 ../../opencv/data/haarcascades/haarcascade_eye.xml ../../opencv/data/haarcascades/test_cascade.xml \n"
    );
}

int main( int argc, char** argv )
{
    const char* size_opt = "--size=";
    char comment[1024];
    CvHaarClassifierCascade* cascade = 0;
    CvSize size;

    help();

    if( argc != 4 || strncmp( argv[1], size_opt, strlen(size_opt) ) != 0 )
    {
        help();
        return -1;
    }

    sscanf( argv[1], "--size=%ux%u", &size.width, &size.height );
    cascade = cvLoadHaarClassifierCascade( argv[2], size );

    if( !cascade )
    {
        fprintf( stderr, "Input cascade could not be found/opened\n" );
        return -1;
    }

    sprintf( comment, "Automatically converted from %s, window size = %dx%d", argv[2], size.width, size.height );
    cvSave( argv[3], cascade, 0, comment, cvAttrList(0,0) );
    return 0;
}

#ifdef _EiC
main(1,"facedetect.c");
#endif

输入的格式为:

$ convert_cascade --size="<sample_width>x<sampe_height>" <haartraining_ouput_dir> <ouput_file>


举例:

$ convert_cascade --size="20x20" haarcascade haarcascade.xml

推荐:OpenCV训练分类器制作xml文档,opencv haar训练--训练样本(4)

opencv 2.1网上查的另一种资料 训练分类器成功,在此与大家分享。  参考英文资料网址: http://note.sonots.com/SciSoftware/haartraining.html#e134e74e  样本

前段时间跑Haartraining.exe的数据生成了如下的数据: 打开0文件夹: 里面数据如上,在此:没有生成xml文件。 解决方案: 方案一: 个人经验,是负样本有问题,解决方案(成功通过): 1。卡在

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。