Abo
  • Services:

Das finale Skript

Jetzt haben wir alles notwendige Wissen und die Zutaten tatsächlich zusammen, um ein vollständiges Skript zu erstellen. Es kann von Golem.de heruntergeladen werden. Alle bislang erläuterten Bruchstücke sind in entsprechenden Funktionen untergebracht.

Stellenmarkt
  1. BWI GmbH, München, Rheinbach, Leipzig
  2. Bosch Gruppe, Karlsruhe

Erklärungsbedürftig am Skript ist wohl nur der Programmstart:

  1. initPins()
  2. start_new_thread(loadRecognition, ())
  3. start_new_thread(initCam, ())
  4.  
  5. while True :
  6. analyse()

Zuerst werden die Pins initialisiert, dann jeweils in einem eigenen Thread die Beschreibungsdatei für die Gesichtserkennung geladen und die Kamera aktiviert.

Die beiden Threads sollen in erster Linie den Programmstart beschleunigen. Das Laden der gut 1 MByte großen Beschreibungsdatei dauert einen wahrnehmbaren Moment, genauso wie die Initialisierung der Kamera. Beide benötigen dabei nicht unbedingt CPU-Ressourcen, sondern warten auf I/O-Operationen - deswegen können beide auch problemlos quasi-parallel warten.

Während sich der Lade-Thread nach dem Laden auch beendet, läuft der Kamera-Thread bis zum Programmende weiter. Er holt dann kontinuierlich die Bilder von der Kamera über OpenCV. Genauso läuft auch die eigentliche Analyse des Bildes über analyse() ununterbrochen. Auf den ersten Blick liegt es nahe, ein Bild zu holen, es auszuwerten und erst dann das nächste zu holen, praktisch hat das aber unschöne Konsequenzen.

Die Trennung hat folgenden Hintergrund: OpenCV puffert die Bilder, die es von der Kamera empfängt. Erhalten wir nun ein Bild, verarbeiten es und steuern im Erfolgsfall den Servo an, dann sind einige Sekunden vergangen. Das nächste Bild, das wir von OpenCV abholen, ist in dem Moment also schon veraltet.

Wenn die beiden Vorgänge "Bild holen" und "Bild auswerten" in getrennten Threads laufen, werten wir hingegen fast immer ein aktuelles Bild aus. Denn der Kamera-Thread leert ständig den Bilder-Puffer von OpenCV, die analyse()-Funktion sieht stets nur das zuletzt geholte Bild.

Wir haben eine Tour de Force versprochen, und wir hoffen, die Leser haben dabei genauso viel gelernt wie wir. Das wird nicht das letzte Hardwareprojekt dieser Art sein. Im Gegenteil, wir fühlen uns inzwischen mutig genug, weitere Ideen anzugehen.

 Der letzte Schritt
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9


Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de
  2. 59,99€

hungkubwa 31. Jan 2014

Wozu der Umweg über Flattr wenn man auch direkt Paypal nutzen kann? Versteh ich nicht.

savejeff 30. Jan 2014

Danke :] Ich benutze die app täglich auf mehreren PCs und habe mich so drann gewöhnt. Sie...

Anonymer Nutzer 30. Jan 2014

Besten Dank für die Info. Gruss, gehirnpest

Casandro 30. Jan 2014

...ein 5 Jahresprojekt, dass dann nach 7 Jahren wegen nicht eingetretenem Erfolg eingestellt.

Anonymer Nutzer 30. Jan 2014

[..] und wir wollen dabei lernen. Genau sowas hat mir bei Golem bisher immer gefehlt...


Folgen Sie uns
       


Sechs Bluetooth-Hörstöpsel im Test

Wir haben sechs neue Bluetooth-Hörstöpsel getestet. Mit dabei sind Modelle von Sennheiser, Audio Technica, Master & Dynamic sowie HMD Global. Aber auch zwei Modelle kleinerer Startups sind vertreten. Und eines davon hat uns bezüglich der Akkulaufzeit sehr überrascht. Kein anderer von uns getesteter Bluetooth-Hörstöpsel hat bisher eine vergleichbar lange Akkulaufzeit zu bieten - wir kamen auf Werte von bis zu 11,5 Stunden statt der sonst üblichen drei bis fünf Stunden.

Sechs Bluetooth-Hörstöpsel im Test Video aufrufen
Flugzeugabsturz: Boeing 737 MAX geht wegen Softwarefehler außer Betrieb
Flugzeugabsturz
Boeing 737 MAX geht wegen Softwarefehler außer Betrieb

Wegen eines bekannten Softwarefehlers wird der Flugbetrieb für Boeings neustes Flugzeug fast weltweit eingestellt - Die letzte Ausnahme war: die USA. Der Umgang der amerikanischen Flugaufsichtsbehörde mit den Problemen des neuen Flugzeugs erscheint zweifelhaft.

  1. Boeing Rollout der neuen 777X in wenigen Tagen
  2. Boeing 747 Der Jumbo Jet wird 50 Jahre alt
  3. Lufttaxi Uber sucht eine weitere Stadt für Uber-Air-Test

Google: Stadia tritt gegen Gaming-PCs, Playstation und Xbox an
Google
Stadia tritt gegen Gaming-PCs, Playstation und Xbox an

GDC 2019 Google streamt nicht nur so ein bisschen - stattdessen tritt der Konzern mit Stadia in direkte Konkurrenz zur etablierten Spielebranche. Entwickler können für ihre Games mehr Teraflops verwenden als auf der PS4 Pro und der Xbox One X zusammen.
Von Peter Steinlechner


    Gesetzesinitiative des Bundesrates: Neuer Straftatbestand Handelsplattform-Betreiber im Darknet
    Gesetzesinitiative des Bundesrates
    Neuer Straftatbestand Handelsplattform-Betreiber im Darknet

    Eine Gesetzesinitiative des Bundesrates soll den Betrieb von Handelsplattformen im Darknet unter Strafe stellen, wenn sie Illegales fördern. Das war auch bisher schon strafbar, das Gesetz könnte jedoch vor allem der Überwachung dienen, kritisieren Juristen.
    Von Moritz Tremmel

    1. Security Onionshare 2 ermöglicht einfachen Dateiaustausch per Tor
    2. Tor-Netzwerk Britischer Kleinstprovider testet Tor-SIM-Karte
    3. Tor-Netzwerk Sicherheitslücke für Tor Browser 7 veröffentlicht

      •  /