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. Fresenius Medical Care Deutschland GmbH, Schweinfurt
  2. Robert Bosch GmbH, Stuttgart-Feuerbach
  3. Basler AG, Ahrensburg bei Hamburg
  4. IABG Industrieanlagen-Betriebsgesellschaft mbH, Ottobrunn bei München


Anzeige
Spiele-Angebote
  1. 59,00€
  2. 59,99€/69,99€ (Vorbesteller-Preisgarantie)
  3. 4,99€

Folgen Sie uns
       


  1. Energielabels

    Aus A+++ wird nur noch A

  2. Update 1.2

    Gog.com-Client erhält Cloud-Speicheroption und fps-Zähler

  3. HTTPS

    US-Cert warnt vor Man-In-The-Middle-Boxen

  4. Datenrate

    Facebook und Nokia bringen Seekabel ans Limit

  5. Grafikkarte

    Zotac will die schnellste Geforce GTX 1080 Ti stellen

  6. Ab 2018

    Cebit findet künftig im Sommer statt

  7. Google

    Maps erlaubt Teilen des eigenen Standortes in Echtzeit

  8. Datengesetz geplant

    Halter sollen Eigentümer von Fahrzeugdaten werden

  9. Nintendo Switch

    Leitfähiger Schaumstoff löst Joy-Con-Probleme

  10. Stack Overflow

    Deutsche Entwickler fühlen sich unterbezahlt



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Buch - Apple intern: "Die behandeln uns wie Sklaven"
Buch - Apple intern
"Die behandeln uns wie Sklaven"
  1. Earbuds mit Sensor Apple beantragt Patent auf biometrische Kopfhörer
  2. Apple Park Apple bezieht das Raumschiff
  3. Klage gegen Steuernachzahlung Apple beruft sich auf europäische Grundrechte

Technik-Kritiker: Jaron Lanier will Facebook zerschlagen
Technik-Kritiker
Jaron Lanier will Facebook zerschlagen
  1. Facebook & Co Bis zu 50 Millionen Euro Geldbuße für Hasskommentare
  2. OCP Facebook rüstet das Rechenzentrum auf
  3. Social Media Facebook verbietet Datennutzung für Überwachung

Forensik Challenge: Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
Forensik Challenge
Lust auf eine Cyber-Stelle beim BND? Golem.de hilft!
  1. Reporter ohne Grenzen Verfassungsklage gegen BND-Überwachung eingereicht
  2. Selektorenaffäre BND soll ausländische Journalisten ausspioniert haben
  3. Ex-Verfassungsgerichtspräsident Papier Die Politik stellt sich beim BND-Gesetz taub

  1. Re: Fachlich und ortographischer Fail

    ldlx | 23:00

  2. Re: angemessene Bezahlung != leistungsgerechte...

    Moe479 | 22:58

  3. Re: Leider alternativ-los...

    Neuro-Chef | 22:51

  4. Re: schöne Sache

    ArcherV | 22:51

  5. Re: Diese Art von Spiel werde ich nie verstehen...

    M.Kessel | 22:50


  1. 18:59

  2. 18:42

  3. 18:06

  4. 17:39

  5. 17:10

  6. 16:46

  7. 16:26

  8. 16:24


  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