Abo
  • Services:
Anzeige
Laika - Frontansicht
Laika - Frontansicht (Bild: Golem.de)

Das finale Skript

Anzeige

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.

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

eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. WMF Group GmbH, Geislingen an der Steige
  2. Dirk Rossmann GmbH, Burgwedel
  3. über Harvey Nash GmbH, Hamburg, Aschaffenburg, Wiesbaden
  4. SEW-EURODRIVE GmbH & Co KG, Bruchsal


Anzeige
Spiele-Angebote
  1. 109,99€/119,99€ (Vorbesteller-Preisgarantie)
  2. 25,99€
  3. 7,49€

Folgen Sie uns
       


  1. Radeon Software 17.7.2

    AMDs Grafiktreiber bringt massig Neuerungen

  2. Quartalsbericht

    Facebooks Belegschaft wurde erheblich vergrößert

  3. GigaKombi

    Vodafone verbessert Datenpaket für Warten aufs Festnetz

  4. Datenrate

    O2 drosselt mobiles Internet wegen EU-Roamings

  5. Netgear Nighthawk X6S

    Triband-Router kann mit Sprache gesteuert werden

  6. Spark

    DJI-Minicopter stürzt ab

  7. Nachfolger Watchbox

    RTL beendet Streamingportal Clipfish

  8. Chipmaschinenausrüster

    ASML demonstriert 250-Watt-EUV-System

  9. Linux-Distribution

    Opensuse Leap 42.3 baut Langzeitpflege aus

  10. Soziales Netzwerk

    Facebook soll an Smart-Speaker mit Display arbeiten



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Ikea Trådfri im Test: Drahtlos (und sicher) auf Schwedisch
Ikea Trådfri im Test
Drahtlos (und sicher) auf Schwedisch
  1. Die Woche im Video Kündigungen, Kernaussagen und KI-Fahrer
  2. Augmented Reality Ikea will mit iOS 11 Wohnungen virtuell einrichten
  3. Space10 Ikea-Forschungslab untersucht Umgang mit KI

Indiegames Rundschau: Meisterdiebe, Anti- und Arcadehelden
Indiegames Rundschau
Meisterdiebe, Anti- und Arcadehelden
  1. Jump So was wie Netflix für Indiegames
  2. Indiegames-Rundschau Weltraumabenteuer und Strandurlaub
  3. Indiegames-Rundschau Familienflüche, Albträume und Nostalgie

Creoqode 2048 im Test: Wir programmieren die größte portable Spielkonsole der Welt
Creoqode 2048 im Test
Wir programmieren die größte portable Spielkonsole der Welt
  1. Arduino 101 Intel stellt auch das letzte Bastler-Board ein
  2. 1Sheeld für Arduino angetestet Sensor-Platine hat keine Sensoren und liefert doch Daten
  3. Calliope Mini im Test Neuland lernt programmieren

  1. Re: Wie dumm muss man sein ...

    User_x | 00:21

  2. Re: Erster Eindruck..

    mnementh | 00:16

  3. Re: Schlangenöl

    ayngush | 00:06

  4. Re: was kann da schon schief gehen !!!11drölf

    recluce | 26.07. 23:58

  5. Re: Wie kann man damit nur erfolgreich sein?!

    Tigtor | 26.07. 23:58


  1. 23:00

  2. 22:41

  3. 19:35

  4. 17:26

  5. 16:53

  6. 16:22

  7. 14:53

  8. 14:15


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel