我正在尝试OpenCV(2.3)中的对象分类,结果令人惊讶。如下图所示,我正在尝试检测一个完整的身体,并且它为检测到的区域提供了一个太大的区域。
我正在使用提供的haarcascade_fullbody.xml数据训练CascadeClassifier
对象。
我正在使用此命令检测:cascade.detectMultiScale(temp, bodies, 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);
为什么这不能很好地适应物体?这里有什么我想念的吗?它似乎一直给我太长的地区。
答案 0 :(得分:4)
不应该br.y = bodies[0].x + bodies[0].height;
br.y = bodies[0].y + bodies[0].height;
?
只是一个想法......