2016-08-01 24 views

Antwort

2

Sehr möglich, geben Sie einfach die Größe eines Begrenzungsrahmens um Ihr erkanntes Objekt zurück, können Sie dies auf verschiedene Arten tun, wie die Breite und Höhe eines Rechtecks, das Sie um Ihr Objekt zeichnen. Ein weiterer einfacher Weg ist die Verwendung von size.

in C++ es wie folgt aussehen:

//-- 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); 

Und danach, cout << faces[i].size << endl; setzen

Der vollständige Code here gefunden werden kann. Lesen Sie mehr über Haar Feature-based Cascade Classifier zur Objekterkennung here.