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. Media-Saturn IT Services GmbH, Ingolstadt
  2. INTENSE AG, Würzburg, Köln
  3. eins energie in sachsen GmbH & Co. KG, Chemnitz
  4. über 3C - Career Consulting Company GmbH, deutschlandweit (Home-Office)


Anzeige
Spiele-Angebote
  1. (-78%) 8,99€
  2. 9,49€
  3. 22,90€ inkl. Versand

Folgen Sie uns
       


  1. Hololens

    Microsoft holoportiert Leute aus dem Auto ins Büro

  2. Star Wars

    Todesstern kostet 6,25 Quadrilliarden britische Pfund am Tag

  3. NSA-Ausschuss

    Wikileaks könnte Bundestagsquelle enttarnt haben

  4. Transparenzverordnung

    Angaben-Wirrwarr statt einer ehrlichen Datenratenangabe

  5. Urteil zu Sofortüberweisung

    OLG empfiehlt Verbrauchern Einkauf im Ladengeschäft

  6. Hearthstone

    Blizzard schickt Spieler in die Straßen von Gadgetzan

  7. Jolla

    Sailfish OS in Russland als Referenzmodell für andere Länder

  8. Router-Schwachstellen

    100.000 Kunden in Großbritannien von Störungen betroffen

  9. Rule 41

    Das FBI darf jetzt weltweit hacken

  10. Breath of the Wild

    Spekulationen über spielbare Zelda



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Senode: Eine ganze Komposition in zwei Graphen
Senode
Eine ganze Komposition in zwei Graphen
  1. Offlinemodus Netflix erlaubt Download ausgewählter Filme und Serien
  2. LG PH450UG LED-Kurzdistanzprojektor arbeitet mit Akku
  3. Freenet TV DVB-T2 Receiver mit Twin-Tuner brauchen nur ein Abo

HTC 10 Evo im Kurztest: HTCs eigenwillige Evolution
HTC 10 Evo im Kurztest
HTCs eigenwillige Evolution
  1. Virtual Reality HTC stellt Drahtlos-Kit für Vive vor
  2. Google Im Pixel steckt wohl mehr HTC als gedacht
  3. Desire 10 Lifestyle HTC stellt noch ein Mittelklasse-Smartphone für 300 Euro vor

Turris Omnia im Test: Ein Router zum Basteln
Turris Omnia im Test
Ein Router zum Basteln
  1. Botnetz Telekom-Routerausfälle waren nur Kollateralschaden
  2. BGH-Urteil Keine Störerhaftung bei gehacktem WLAN-Passwort
  3. Fritzbox 6430 Cable AVM liefert Einsteigerrouter für Kabelanschluss

  1. Re: Willkommen im Neuland

    Epaminaidos | 23:16

  2. Re: Rom Berlin 18h 39min

    Jossele | 23:15

  3. Re: Zugangsdaten weitergeben?

    mackes | 23:14

  4. Re: Vielleicht ist die Luft einfach raus?

    Compufreak345 | 23:13

  5. hä? gericht wieder einmal weltfremd?

    Moe479 | 23:13


  1. 18:27

  2. 18:01

  3. 17:46

  4. 17:19

  5. 16:37

  6. 16:03

  7. 15:34

  8. 15:08


  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