天天看点

OpenCV——Cascade,训练自己的数据

首先,在任意地方新建traning文件夹,拷贝D:\Program Files\opencv\opencv\build\x86\vc10\bin中opencv_createsamples.exe和opencv_traincascade.exe到training中。

1 构建正负样本

在training目录下新建pos和neg文件夹

OpenCV——Cascade,训练自己的数据

将归一化之后的样本放入文件中,pos(正样本 ) neg(负样本)

pos

进入pos文件下,shift+右键,进入命令行窗口,输入 dir/b>pos.txt (生成相对路径) 点击enter

OpenCV——Cascade,训练自己的数据

在pos文件夹下,生成pos.txt,ctrl+H 将jpg替换为jpg 1 0 0 20 20,并删除最后一行pos.txt

OpenCV——Cascade,训练自己的数据

neg

进入neg文件下,shift+右键,进入命令行窗口,输入 dir/b/s>neg.txt (生成绝对路径) 点击enter

删除最后一行neg.txt (将 / 替换为 \ )

OpenCV——Cascade,训练自己的数据

在training目录下,新建createsamples.txt,改后缀变为createsamples.bat

OpenCV——Cascade,训练自己的数据

右键编辑

输入

opencv_createsamples.exe -info pos/pos.txt -vec pos.vec -bg neg.txt -num 87 -w 20 -h 20 
pause      

-info pos/pos.txt 正样本路径

-vec pos.vec 生成目标文件

-bg neg.txt 负样本文件名

-num 87 正样本数量

-w 20 样本宽

-h 20 样本高

OpenCV——Cascade,训练自己的数据

保存,双击运行,生成pos.vec

OpenCV——Cascade,训练自己的数据

在training目录下,新建traincascade.txt,改后缀变为traincascade.bat,右键编辑

opencv_traincascade.exe -data data -vec pos.vec -bg neg.txt -numPos 85 -numNeg 33 -numStages 20 -precalcValbufSize 200 -precalcdxBufSize 1000 -w 20 -h 20 -featureType HAAR
 
pause      

-data data

-vec pos.vec

-bg neg.txt

-numPos 85

-numNeg 33

-numStages 20

-precalcValbufSize 200

-precalcdxBufSize 1000

-w 20

-h 20 -

featureType HAAR 这里可以选取HAAR、LBP

在training文件下,新建data文件夹,双击traincascade.bat,运行,开始训练

继续阅读