Ich bin neu in der Bildverarbeitung. Ich möchte eine Reihe von Objekten im Bild erkennen und die Größen vergleichen. kann das mit haarCascades möglich seinkann haarCascades verwendet werden, um Objektgröße zu erhalten?
0
A
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.
Haben Sie schon etwas implementiert? Welche Sprache verwendest du? –