我试图在cmd中运行opencv_traincascade,但它立刻崩溃,并给出了输出。
opencv_traincascade -data data -vec pos.vec -bg neg.lst -numPos 31 -numNeg
100 -numStages 10 -w 20 -h 20
PARAMETERS:
cascadeDirName: data
vecFileName: pos.vec
bgFileName: neg.lst
numPos: 31
numNeg: 100
numStages: 10
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 20
sampleHeight: 20
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
Number of unique features given windowSize [20,20] : 78460
这里是错误信息:
===== TRAINING 0-stage =====
<BEGIN
OpenCV(3.4.1) Error: Assertion failed (_img.rows * _img.cols == vecSize) in
CvCascadeImageReader::PosReader::get, file C:\build\master_winpack-build-
win64-
vc15\opencv\apps\traincascade\imagestorage.cpp, line 153
我尝试删除所有OpenCV的XML作为它建议其他地方的另一个原因这个问题occure接缝是,那-W 20 - 小时20犯规符合我翻了一番检查了images.Therefore的大小了。
这可能会导致一些问题的盲目的猜测是,路径为 “C:\建立\ master_winpack建造-Win64上-VC15 \ OpenCV的\ APPS \ traincascade” 是正确的。所述imagesstorage.cpp位于C:\ Users \用户azach \下载\的OpenCV \源\ APPS \ traincascade
对我来说,问题是,当我用opencv_createsamples
创建在上一步中.vec文件,我用比我用于-w
不同-h
和opencv_traincascade
参数。我不得不这样做,以解决这个问题是重做opencv_createsamples
和opencv_traincascade
一致的宽度和高度。