Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss18:tracker

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

Tracker

tracker.py

  • main(args)
    • Erlaubt die Ausführung des Trackers ohne GUI aus der Konsole zum Debugging
    • Verwaltet beim Debugging den gesamten Ablauf des Trackers
  • setup(videoFile, cascadeFile, initialBoxes, writeToVideo, outputFile)
    1. Öffnen des Videos unter dem übergebenen Dateipfad videoFile
    2. Lesen des ersten Frames aus dem Video; Abbruch bei Fehlschlag
    3. Auslesen der Videodetails (Framerate, Breite und Höhe eines Frames, Anzahl der Frames)
    4. Aufforderung zur Markierung des Bereichs im Bild, der den Tisch enthält
    5. Errechnung der Koordinaten zum Zuschneiden der Bilder
    6. Wenn keine initialBoxes übergeben wurde, Detektion der Pucks mithilfe der HAAR-Kaskade unter dem Dateipfad cascadeFile
    7. Filterung der Boxen von der Kaskade nach Duplikaten
    8. Verkleinerung der Boxen auf eine einheitliche Größe
    9. Initialisierung der Puck-Objekte, die das Tracking durchführen
    10. Initialisierung des multi_tracker, der die Puck-Objekte verwaltet
    11. Zurücksetzen des Frame Counters des VideoCapture-Objekts
    12. Falls über writeToVideo angefordert, Initialisierung eines VideoWriter-Objekts zur Ausgabe des Videos mit markierten Pucks in eine Video-Datei
    13. Rückgabe von Informationen an die Benutzeroberfläche zum Initialisieren der Datenverwaltung
  • run()
    1. Abfrage der Systemzeit zur Realisierung einer Stopuhr
    2. Auslesen des nächsten Frames aus dem Video; Abbruch, wenn der letzte Frame überschritten ist
    3. Zuschnitt des Frames
    4. Aufruf des multi_tracker zur Durchführung des Tracking-Prozess auf dem derzeitigen Frame
    5. Ausgabe von Zeitinformationen auf dem Frame, falls DEBUG aktiv ist
    6. Anzeige des Frames mit den markierten Pucks
    7. Falls erforderlich, Frame mit markierten Pucks in die Video-Ausgabedatei schreiben
    8. Errechnen der vergangen Zeit durch erneute Abfrage der Systemzeit
    9. Rückgabe von Status, derzeitigem Frame-Index, Positionsdaten und der für die Verarbeitung dieses Frames benötigte Zeit
  • cleanupTracker()
    1. Freigabe der Ressourcen der VideoReader- und, falls vorhanden, Video-Writer-Objekte
    2. Aufforderung des multi_tracker zur Freigabe seiner Resourcen
    3. Schließen des Tracking-Fensters
  • openAndConfigureWindow()
    1. Öffnet und konfiguriert ein OpenCV-Fenster

multi_tracker.py

  • addInitialObjects(data, frame)
    1. Annahme der übergebenen Puck-Objekte in Form einer vollständigen Kopie
    2. Vollständige Kopie des derzeitigen Bilds, auf der die Markierungen angezeigt werden
ss18/tracker.1535035963.txt.gz · Zuletzt geändert: 2018/08/23 16:52 von dclaussner