我正在尝试 OpenCV (2.3) 中的对象分类,结果令人惊讶。如下图所示,我正在尝试检测全身,但它给出的区域对于检测到的区域来说太大了。
我正在使用提供的 haarcascade_fullbody.xml 数据训练 CascadeClassifier
对象。
我正在使用以下命令进行检测:cascade.detectMultiScale(temp, Body, 1.1, 10);
我正在这样绘制矩形:
Point tl, br;
tl.x = bodies[0].x;
tl.y = bodies[0].y;
br.x = bodies[0].x + bodies[0].width;
br.y = bodies[0].x + bodies[0].height;
cv::rectangle(out, tl, br, cv::Scalar(255, 255, 255), 3);
为什么这不能很好地适应物体?我在这里缺少什么吗?它似乎一直给我一个太长的区域。
最佳答案
不应该br.y = Body[0].x + Body[0].height;
br.y = 体[0].y + 体[0].height;
?
只是一个想法...
关于c++ - 为什么 OpenCV 的级联分类器检测会给出太大的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8425432/