我很抱歉这似乎是一个开始的问题但只是想知道我可以使用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);
答案 0 :(得分:0)
这方面的关键部分是确保您的阳性样本和训练维度相同。你没有理由不能检测到一个矩形物体。
要记住的关键是traincascade
正在运行您在图像上指定的任何尺寸。
请看这里有一些证据表明应该检测到矩形物体: http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
另外,我写了一篇关于对象检测的教程,如果有人遇到这个问题:
http://johnallen.github.io/opencv-object-detection-tutorial/