2

很抱歉,这似乎是一个开始的问题,但只是想知道我可以rectangular dimensions用于培训opencv haar cascade。我尝试过square samples,结果图像被检测到很好,但是当我尝试使用矩形宽度和高度作为车牌时,纵横比2:1在宽度和高度之间,所以我在训练时使用相同的纵横比,但生成的分类器没有检测到任何东西图片。

nStages = 14
nPositive = 1780
minHitrate = 0.996
maxFalseAlarm = 0.2
nNegatives = 14000
width = 48
height = 24
Haar classifier type = BASIC
Boost type = gentle adaboost

以上是我为训练设置的参数classifier。任何人都可以确认我是否可以rectangular parameters用于阳性样本。还请提出一些修改以正确完成培训。

训练负片的大小240x161约为420x240

谢谢你。


编辑1:


我正在使用如下调用。

f_cascade.detectMultiScale( image, detected_objects, pyramidScale, 2, 0|CV_HAAR_SCALE_IMAGE);
4

1 回答 1

0

其中的关键部分是确保您的正样本和训练维度相同。您没有理由无法检测到矩形物体。

他们要记住的关键traincascade是运行您在图像上指定的任何尺寸。

请参阅此处以获取一些证明应该可以很好地检测到矩形对象的证据:http: //coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

如果有人卡在这些东西上,我还写了一个关于对象检测的教程:

http://johnallen.github.io/opencv-object-detection-tutorial/

于 2016-04-05T23:12:06.067 回答