我正在尝试使用opencv 3.1.0中的opencv_traincascade可执行文件训练一个haar级联。
目前,即使结果不一致,我也只想使用一个正数,为了确保我将正确的参数传递给opencv_createsamples和opencv_traincascade。
bg.txt内容:
negatives/img_04436_c1.pgm
negatives/img_04437_c1.pgm
负片分辨率:宽度:1176高度:640
正面分辨率:宽度:40高度:70
我使用以下命令参数:
对于 opencv_createsamples :
./opencv_createsamples -img img_04569_c1.pgm -vec samples -bg bg.txt -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1 -w 40 -h 70 -num 30
Info file name: (NULL)
Img file name: img_04569_c1.pgm
Vec file name: samples.vec
BG file name: bg.txt
Num: 30
BG color: 0
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 0.1
Max y angle: 0.1
Max z angle: 0.1
Show samples: FALSE
Width: 40
Height: 70
Create training samples from single image applying distortions...
Open background image: negatives/img_04436_c1.pgm
Done
opencv_traincascade :
./opencv_traincascade -data cascade -vec samples -bg bg.txt -w 40 -h 70 -numPos 30 -numStages 1 -numNeg 2
PARAMETERS:
cascadeDirName: cascade
vecFileName: samples.vec
bgFileName: bg.txt
numPos: 30
numNeg: 2
numStages: 2
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 40
sampleHeight: 70
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 28 : 28
*** Error in `./opencv_traincascade': double free or corruption (out): 0x00000000016749b0 ***
Aborted (core dumped)
我的问题如下:
我可以创建sample.vec文件。
当我运行opencv_traincascade时,我收到以下错误:
*** Error in `./opencv_traincascade': double free or corruption (out): 0x0000000001e0e9b0 ***
有时我也会收到Segmentation Fault错误。
我尝试 调整大小 更低分辨率,我能够生成xml文件但是当我试图使用它时没有任何反应。 (分类器被粘住并连续运行而不返回任何矩形)
我想使用我原来的底片大小。
有人可以帮我解决这个问题吗?
如果需要更多详细信息,请发表评论,我会更新我的问题。