2016-08-01 4 views
0

Я новичок в обработке изображений. Я хочу обнаружить набор объектов в изображении и сравнить размеры. можно ли это использовать с помощью haarCascadesМожет ли haarCascades использоваться для получения размера объекта?

+1

Вы что-то внедрили? На каком языке вы используете? –

ответ

2

Очень возможно, просто верните размер ограничивающей рамки вокруг вашего обнаруженного объекта, вы можете сделать это различными способами, например, получить ширину и высоту прямоугольника, который вы рисуете вокруг вашего объекта. Еще один простой способ - использовать size.

В C++ это может выглядеть следующим образом:

//-- Detect faces 
    face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30)); 

    for(size_t i = 0; i < faces.size(); i++) 
    { 
    Point center(faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5); 
    ellipse(frame, center, Size(faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar(255, 0, 255), 4, 8, 0); 

И после этого, поставить cout << faces[i].size << endl;

Полный код можно найти here. Узнайте больше о каскадном классификаторе Хаара для обнаружения объектов here.

Смежные вопросы