请帮助了解HAAR训练正/负图像大小与训练宽度/长度参数的关系。
所以我的训练图像大小约为100x90(正面和负面)。但是,如果我尝试使用-w 100 -h 90参数训练HARR分类器,那将无效,因为对于“opencv_traincascade”命令,w / h值位于[20-25]附近。
结果我创建了我的样本向量,w(/ h)= 20,然后我使用w(/ h)= 20运行traincascade(但我的图像是100x90)。
这种做法对吗?
我可以将图像从100x90减少到20x20,但我不确定我的算法将如何处理100x90或更大的图像。我想做真实的相机图像处理,图像尺寸大约是1000x800。
仅供参考,这是我的训练脚本:
find PosResize -name "pos_*" > pos_100x50.dat
find NegResize -name "neg_*" > neg_100x50.dat
perl createtrainsamples.pl pos_100x50.dat neg_100x50.dat samples_20x20 500 "opencv_createsamples -bgcolor 0 -bgthresh 0 -maxxangle 0.1 -maxyangle 0.1 -maxzangle 0.1 -maxidev 40 -w 20 -h 20"
python ./../../Tools/mergevec-master/mergevec.py -v samples_20x2 0 -o samples_20x20.vec
opencv_traincascade -data data_20x20 -vec samples_20x20.vec -w 20 -h 20 -bg neg_100x50.dat -numPos 499 -numNeg 586 -numStages 10 -featureType HAAR -mode ALL -precalcValBufSize 512 -precalcIdxBufSize 512 -minHitRate 0.999 -maxFalseAlarmRate 0.1 -maxWeakCount 1000
由于