Abo
  • Services:

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:

Stellenmarkt
  1. embitel GmbH, Stuttgart
  2. Omikron Data Quality GmbH, Berlin, Pforzheim

  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 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12.  


Anzeige
Blu-ray-Angebote
  1. 5€ inkl. FSK-18-Versand
  2. 5€ inkl. FSK-18-Versand
  3. (u. a. 3 Blu-rays für 15€, 2 Neuheiten für 15€)

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...


Folgen Sie uns
       


Bewerbungsgespräch mit der KI vom DFKI - Bericht

Wir haben uns beim DFKI in Saarbrücken angesehen, wie das Training von Bewerbungsgesprächen mit einer Künstlichen Intelligenz funktioniert.

Bewerbungsgespräch mit der KI vom DFKI - Bericht Video aufrufen
WD Black SN750 ausprobiert: Direkt hinter Samsungs SSDs
WD Black SN750 ausprobiert
Direkt hinter Samsungs SSDs

Mit den WD Black SN750 liefert Western Digital technisch wie preislich attraktive NVMe-SSDs. Es sind die kleinen Details, welche die SN750 zwar sehr gut, aber eben nicht besser als die Samsung-Konkurrenz machen.
Ein Bericht von Marc Sauter

  1. WD Black SN750 Leicht optimierte NVMe-SSD mit 2 TByte
  2. Ultrastar DC ME200 Western Digital baut PCIe-Arbeitsspeicher mit 4 TByte
  3. Western Digital My-Cloud-Lücke soll nach 1,5 Jahren geschlossen werden

Metro Exodus im Technik-Test: Richtiges Raytracing rockt
Metro Exodus im Technik-Test
Richtiges Raytracing rockt

Die Implementierung von DirectX Raytracing in Metro Exodus überzeugt uns: Zwar ist der Fps-Verlust hoch, die globale Beleuchtung wirkt aber deutlich realistischer und stimmungsvoller als die Raster-Version.
Ein Test von Marc Sauter

  1. Turing-Grafikkarten Nvidias Geforce 1660/1650 erscheint im März
  2. Grafikkarte Chip der Geforce GTX 1660 Ti ist überraschend groß
  3. Deep Learning Supersampling Nvidia will DLSS-Kantenglättung verbessern

Carsharing: Regierung will Mobilitätsdienste per Gesetz stärken
Carsharing
Regierung will Mobilitätsdienste per Gesetz stärken

Die digitalen Plattformen für Carsharing und Carpooling sollen Rechtssicherheit bekommen. BMW, Daimler und VW sowie Uber & Co. stehen in den Startlöchern.
Ein Bericht von Daniel Delhaes und Markus Fasse

  1. Lobbyregister EU-Parlament verordnet sich mehr Transparenz
  2. Contract for the web Bundesregierung unterstützt Rechtsanspruch auf Internet
  3. Initiative D21 E-Government-Nutzung in Deutschland ist rückläufig

    •  /