开发环境:Ubuntu
摸索了很久.发现网上大部分的都是windows的笔记.很多命令参数都不一样.
Ubuntu下编译并安装好了opencv后直接就能找到 opencv_createsamples opencv_traincascade等相关命令
1.制作样本
用如下的命令
opencv_createsamples -vec sample.vec -info sample.txt -w 42 -h 42
sample.txt就是样本目录,坐标等..w 宽度 h 高度
2.负样本..
这个其实不需要任何命令生成制作,直接用文件图片的目录记录一下就行了
3.训练
opencv_traincascade这个命令的参数在Ubuntu下和win下不一样
-data <cascade_dir_name>
-vec <vec_file_name>
-bg <background_file_name>
[-numPos <number_of_positive_samples = 2000>]
[-numNeg <number_of_negative_samples = 1000>]
[-numStages <number_of_stages = 20>]
[-precalcValBufSize <precalculated_vals_buffer_size_in_Mb = 1024>]
[-precalcIdxBufSize <precalculated_idxs_buffer_size_in_Mb = 1024>]
[-baseFormatSave]
[-numThreads <max_number_of_threads = 8>]
[-acceptanceRatioBreakValue <value> = -1>]
--cascadeParams--
[-stageType <BOOST(default)>]
[-featureType <{HAAR(default), LBP, HOG}>]
[-w <sampleWidth = 24>]
[-h <sampleHeight = 24>]
--boostParams--
[-bt <{DAB, RAB, LB, GAB(default)}>]
[-minHitRate <min_hit_rate> = 0.995>]
[-maxFalseAlarmRate <max_false_alarm_rate = 0.5>]
[-weightTrimRate <weight_trim_rate = 0.95>]
[-maxDepth <max_depth_of_weak_tree = 1>]
[-maxWeakCount <max_weak_tree_count = 100>]
--haarFeatureParams--
[-mode <BASIC(default) | CORE | ALL
主要就是上面红色标记的三个参数 .其它都一样
opencv_traincascade -data ./ -vec sample.vec -bg noface.txt -numPos 1 -numNeg 10 -mem 100 -w 42 -h 42 -numStages 9
4.背景样本要大一些.否则会报错.
正样本可以是一个.背景样本我测试用的是10个. 如果卡住可以通过 numStages 控制等级.