Die Größe der BoundingBox / ROI zum Tracking-Objekt nimmt trotz fester Anfangsgröße weiter zu

9

Ich versuche, meine Hand basierend auf dem Bereich mit dem Media Flow Tracker zu verfolgen, aber die Begrenzungsbox wird nach einiger Zeit immer größer. Es funktioniert in den ersten 10 Sekunden oder so richtig.

Hier ist ein Codeausschnitt:

%Vor%     
Rahat Mahbub 21.06.2015, 05:45
quelle

1 Antwort

3

Ich würde den Aufruf von dilate aus der folgenden Zeile entfernen:

filtered = depth.stretch(0, 180).binarize().dilate(1)

Aus der SimpleCV Dokumentation :

  

erweitern (Iterationen = 1)   Wenden Sie eine morphologische Dilatation an. Eine Dilatation hat den Effekt, Blobs zu glätten, während die Menge an Rauschblobs verstärkt wird. Diese Implementierung verwendet den Standard-Quadrat-Kernel openCV 3X3 Erosion ist effektiv ein lokaler Maxima-Detektor, der Kernel bewegt sich über das Bild und nimmt den Maxima-Wert innerhalb des Kernels an.

Die Variable filtered wird für jede Schleifeniteration mit filtered.findBlobs() verwendet. Die Intensität und Dichte dieser Blobs werden verwendet, um die Abmessungen der Begrenzungsbox zu bestimmen.

Sie rufen die Funktion stretch zusammen mit dilate auf. Im Laufe der Zeit führt der Aufruf von dilate dazu, dass Rauschen als Teil der Hand erkannt wird, sodass die Bounding Box entsprechend erhöht wird.

    
ross 03.07.2015 03:57
quelle

Tags und Links