Я пробую классификацию объектов в OpenCV (2.3), и результаты удивительны. Как показано на моем изображении ниже, я пытаюсь обнаружить полное тело, и оно дает область, слишком большую для обнаруженной области.
Я тренирую объект CascadeClassifier
с предоставленными данными haarcascade_fullbody.xml.
Я обнаруживаю с помощью этой команды: 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);
Почему это не дает хорошее прилегание к объекту? Есть что-то, чего я здесь не хватает? Похоже, что он постоянно дает мне слишком длинный регион.