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. Hochschule Albstadt-Sigmaringen, Albstadt
  2. Bremer Rechenzentrum GmbH, Bremen

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
Spiele-Angebote
  1. 5€
  2. 19,99€
  3. 21,99€
  4. 20,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
       


Cryorig Taku - Test

Das Cryorig Taku ist ein ungewöhnliches Desktop-Gehäuse, bei dem die Montage leider fummelig ausfällt.

Cryorig Taku - Test Video aufrufen
Datenverkauf bei Kommunen: Öffentliche Daten nicht verhökern, sondern sinnvoll nutzen
Datenverkauf bei Kommunen
Öffentliche Daten nicht verhökern, sondern sinnvoll nutzen

Der Städte- und Gemeindebund hat vorgeschlagen, Kommunen sollten ihre Daten verkaufen. Wie man es auch dreht und wendet: Es bleibt eine schlechte Idee.
Ein IMHO von Michael Peters und Walter Palmetshofer

  1. Gerichtsurteil Kein Recht auf anonyme IFG-Anfrage in Rheinland-Pfalz
  2. CDLA Linux Foundation veröffentlicht Open-Data-Lizenzen
  3. Deutscher Wetterdienst Wetterdaten sind jetzt Open Data

Dell XPS 13 (9370) im Test: Sehr gut ist nicht besser
Dell XPS 13 (9370) im Test
Sehr gut ist nicht besser

Mit dem XPS 13 (9370) hat Dell sein bisher exzellentes Ultrabook in nahezu allen Bereichen überarbeitet - und es teilweise verschlechtert. Der Akku etwa ist kleiner, das spiegelnde Display nervt. Dafür überzeugen die USB-C-Ports, die Kühlung sowie die Tastatur, und die Webcam wurde sinnvoller.
Ein Test von Marc Sauter und Sebastian Grüner

  1. Ultrabook Dell hat das XPS 13 ruiniert
  2. XPS 13 (9370) Dells Ultrabook wird dünner und läuft kürzer
  3. Ultrabook Dell aktualisiert XPS 13 mit Quadcore-Chip

HTC Vive Pro im Test: Das beste VR-Headset ist nicht der beste Kauf
HTC Vive Pro im Test
Das beste VR-Headset ist nicht der beste Kauf

Höhere Auflösung, integrierter Kopfhörer und ein sehr bequemer Kopfbügel: Das HTC Vive Pro macht alles besser und gilt für uns als das beste VR-Headset, das wir bisher ausprobiert haben. Allerdings ist der Preis dafür so hoch, dass kaufen meist keine clevere Entscheidung ist.
Ein Test von Oliver Nickel

  1. VR-Headset HTCs Vive Pro kostet 880 Euro
  2. HTC Vive Pro ausprobiert VR-Headset hat mehr Pixel und Komfort
  3. Vive Focus HTC stellt autarkes VR-Headset vor

    •  /