Abo
  • Services:
Anzeige
Intel Edison mit Augen und Kamera
Intel Edison mit Augen und Kamera (Bild: Alexander Merz/Golem.de)

OpenCV übernimmt die Gesichtserkennung

Dass die Gesichtserkennung in einem eigenen Thread läuft, hat einen einfachen Grund: Sie ist rechenzeitintensiv, die angelieferten Bilder der Kamera werden gepuffert. Liefe das Holen des Bildes und dessen Auswertung im gleichen Thread, würden wir beim nächsten Schleifendurchgang ein Bild unbekannten Alters aus dem Puffer erhalten. Mit capture.grab() leeren wir stets den Puffer und sorgen dafür, dass im Thread mit capture.retrieve() immer nur das aktuelle Bild ausgewertet wird:

Anzeige

  1. void *faceThread(void *arg)
  2. {
  3. Mat img;
  4. while(1) {
  5. if(capture.retrieve(img)) {
  6. checkFace(img);
  7. }
  8. }
  9. }

Die eigentliche Erkennung läuft in der Funktion checkFace(). Diese Funktion sah ursprünglich so aus:

  1. void checkFace(Mat img) {
  2.  
  3. ...
  4. cvtColor(img, gray, CV_BGR2GRAY);
  5. equalizeHist( gray, gray);
  6.  
  7. face_cascade.detectMultiScale(small, faces,
  8. 1.1, 2, CV_HAAR_SCALE_IMAGE);
  9.  
  10. if(faces.size() > 0) {
  11.  
  12. int p = faces[0].x + (faces[0].width/2);
  13. int pd = map_pixel_to_deg(p);
  14. servo(180 - pd);
  15. }
  16.  
  17. }

Das Kamerabild wird in ein Graustufenbild umgewandelt, die Farbverteilung im Bild normalisiert und schließlich auf Gesichter geprüft. Die detectMultiScale()-Methode liefert für jedes gefundene Gesicht ein Rect-Objekt zurück. Es enthält die xy-Koordination eines Rechtecks sowie dessen Höhe und Breite. Jedes Rechteck beschreibt also, wo im Bild ein Gesicht gefunden wurde. Wir ermitteln auf Basis dieser Daten dann die x-Koordinate der Mitte des Rechtecks. Sie wird in eine Grad-Angabe (0 - 180 Grad) umgerechnet und der Funktion servo() zur Ansteuerung des Servos übergeben.

 Programmieren in C++ und mit MRAADer Edison beeindruckt 

eye home zur Startseite
derdiedas 21. Nov 2014

Na ja - das Edison/Arduino Gespann ist nun so viel kleiner nicht. Das reine Edison Modul...

_speedy_ 21. Nov 2014

und vom USB-Stick? Von SD wäre natürlich genial und vielleicht besser Intel hier ja noch...

Zwangsangemeldet 20. Nov 2014

Irgendwie ist die Betonung des Sprechers im Video ... hmm, naja, seltsam. *Sehr* seltsam...



Anzeige

Stellenmarkt
  1. Schaeffler Technologies AG & Co. KG, Herzogenaurach
  2. Groz-Beckert KG, Albstadt
  3. Blickle Räder+Rollen GmbH u. Co. KG, Rosenfeld
  4. Zoi TechCon GmbH, Stuttgart, Berlin


Anzeige
Top-Angebote
  1. Xbox One S - Alle 500 GB Bundles stark reduziert
  2. (u. a. iPhone 7, iPhone 8, iPad Pro)
  3. 5,00€

Folgen Sie uns
       


  1. Netzwerkdurchsetzungsgesetz

    Zweites Löschzentrum von Facebook startet in Essen

  2. Raumfahrtpionier

    Der Mann, der lang vor SpaceX günstige Raketen entwickelte

  3. Auch Italien

    Amazon-Streik am Black Friday an sechs Standorten

  4. Urteil

    Winsim-Preiserhöhung von Drillisch ist hinfällig

  5. Automatisierung

    Hillary Clinton warnt vor den Folgen künstlicher Intelligenz

  6. Gutachten

    Quote für E-Autos und Stop der Diesel-Subventionen gefordert

  7. München

    Tschüss Limux, hallo Chaos!

  8. Verbraucherzentrale

    Regulierungsfreiheit für Glasfaser bringt Preissteigerung

  9. WW2

    Kostenpflichtige Profispieler für Call of Duty verfügbar

  10. Firefox Nightly Build 58

    Firefox warnt künftig vor Webseiten mit Datenlecks



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Doom-Brettspiel-Neuauflage im Test: Action am Wohnzimmertisch
Doom-Brettspiel-Neuauflage im Test
Action am Wohnzimmertisch
  1. Doom, Wolfenstein, Minecraft Nintendo kriegt große Namen
  2. Gamedesign Der letzte Lebenspunkt hält länger

Cubesats: Startup steuert riesigen Satellitenschwarm von Berlin aus
Cubesats
Startup steuert riesigen Satellitenschwarm von Berlin aus
  1. SAEx Internet-Seekabel für Südatlantikinsel St. Helena
  2. The Cabin Satelliten-Internet statt 1 Million Euro an die Telekom
  3. Sputnik Piep, piep, kleiner Satellit

Coffee Lake vs. Ryzen: Was CPU-Multitasking mit Spielen macht
Coffee Lake vs. Ryzen
Was CPU-Multitasking mit Spielen macht
  1. Custom Foundry Intel will 10-nm-Smartphone-SoCs ab 2018 produzieren
  2. ARM-Prozessoren Macom verkauft Applied Micro
  3. Apple A11 Bionic KI-Hardware ist so groß wie mehrere CPU-Kerne

  1. Re: Wieviel haette man gespart

    KnutRider | 10:34

  2. Re: Alternativen für Alternativlose?

    subjord | 10:33

  3. Re: Grenze zu welchem Land?

    Prinzeumel | 10:32

  4. Re: 15 euro mindestlohn...

    Thomas | 10:30

  5. Re: Die Gefahr ist die Geschwindigkeit

    Raistlin | 10:28


  1. 10:40

  2. 10:28

  3. 10:27

  4. 10:03

  5. 07:37

  6. 07:13

  7. 07:00

  8. 18:40


  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