traincascade.cpp
来源:互联网 发布:金蝶免费进销存软件 编辑:程序博客网 时间:2024/06/07 05:34
int main( int argc, char* argv[] ){ CvCascadeClassifier classifier; string cascadeDirName, vecName, bgName; int numPos = 2000; int numNeg = 1000; int numStages = 20; int precalcValBufSize = 256, precalcIdxBufSize = 256; bool baseFormatSave = false; CvCascadeParams cascadeParams;//stage type,featuretype,windowsize CvCascadeBoostParams stageParams;//minHitRate,maxFalseAlarm,boost-type(real,gentle),weak_count,split_criteria,weight_trim_rate,cv_folds,max_depth Ptr<CvFeatureParams> featureParams[] = { Ptr<CvFeatureParams>(new CvHaarFeatureParams), Ptr<CvFeatureParams>(new CvLBPFeatureParams), Ptr<CvFeatureParams>(new CvHOGFeatureParams) }; int fc = sizeof(featureParams)/sizeof(featureParams[0]); if( argc == 1 ) { cout << "Usage: " << argv[0] << endl; cout << " -data <cascade_dir_name>" << endl; cout << " -vec <vec_file_name>" << endl; cout << " -bg <background_file_name>" << endl; cout << " [-numPos <number_of_positive_samples = " << numPos << ">]" << endl; cout << " [-numNeg <number_of_negative_samples = " << numNeg << ">]" << endl; cout << " [-numStages <number_of_stages = " << numStages << ">]" << endl; cout << " [-precalcValBufSize <precalculated_vals_buffer_size_in_Mb = " << precalcValBufSize << ">]" << endl; cout << " [-precalcIdxBufSize <precalculated_idxs_buffer_size_in_Mb = " << precalcIdxBufSize << ">]" << endl; cout << " [-baseFormatSave]" << endl; cascadeParams.printDefaults(); stageParams.printDefaults(); for( int fi = 0; fi < fc; fi++ ) featureParams[fi]->printDefaults(); return 0; } for( int i = 1; i < argc; i++ ) { bool set = false; if( !strcmp( argv[i], "-data" ) ) { cascadeDirName = argv[++i]; } else if( !strcmp( argv[i], "-vec" ) ) { vecName = argv[++i]; } else if( !strcmp( argv[i], "-bg" ) ) { bgName = argv[++i]; } else if( !strcmp( argv[i], "-numPos" ) ) { numPos = atoi( argv[++i] ); } else if( !strcmp( argv[i], "-numNeg" ) ) { numNeg = atoi( argv[++i] ); } else if( !strcmp( argv[i], "-numStages" ) ) { numStages = atoi( argv[++i] ); } else if( !strcmp( argv[i], "-precalcValBufSize" ) ) { precalcValBufSize = atoi( argv[++i] ); } else if( !strcmp( argv[i], "-precalcIdxBufSize" ) ) { precalcIdxBufSize = atoi( argv[++i] ); } else if( !strcmp( argv[i], "-baseFormatSave" ) ) { baseFormatSave = true; } else if ( cascadeParams.scanAttr( argv[i], argv[i+1] ) ) { i++; } else if ( stageParams.scanAttr( argv[i], argv[i+1] ) ) { i++; } else if ( !set ) { for( int fi = 0; fi < fc; fi++ ) { set = featureParams[fi]->scanAttr(argv[i], argv[i+1]); if ( !set ) { i++; break; } } } } classifier.train( cascadeDirName, vecName, bgName, numPos, numNeg, precalcValBufSize, precalcIdxBufSize, numStages, cascadeParams, *featureParams[cascadeParams.featureType], stageParams, baseFormatSave ); return 0;}
0 0
- traincascade.cpp
- TrainCascade类图解析
- traincascade相关结构体
- traincascade源码解读
- 关于traincascade的一些问题
- OpenCV的traincascade代码分析
- OpenCV的traincascade代码分析
- cpp
- CPP
- CPP
- cpp
- cpp
- CPP
- CPP
- traincascade中不同特征的生成
- TrainCascade过程中的部分参数解释
- traincascade与AdaBoost的opencv实现框架
- opencv中traincascade的一个demo
- 关于cocoapods安装
- zoj 3010 The Lamp Game
- Objective C定义私有方法
- UVA 11775 Unique Story(LCS [LIS] + BIT)
- Location 服务问题纪录
- traincascade.cpp
- mac安装/升级java并配置环境变量
- 【南大软院大神养成计划:第八天】Sublime Text信仰初养成(一)
- Android.mk的用法和基础
- opencv学习笔记-线性空间滤波
- Android基础学-1
- 面试之C++题目汇总
- 关于特征选择
- linux中各目录的作用