2016-04-24 23 views
0

Ich verwende Haar-Kaskadenklassifizierer, um Augen von der Webcam zu erkennen. Ich möchte nicht anzeigen, was die Webcam erfasst. Dies ist Teil eines Projekts zur Analyse der Augenbewegungen. Ich möchte wissen, wo auf dem Bildschirm der Benutzer sucht. Wenn ich das Fenster zeige, das ihr Gesicht zeigt, neigen sie dazu, nur auf den Teil des Bildschirms zu schauen, auf dem sich dieses Fenster befindet.openCV: Objekt erkennen, ohne das Webcam-Ansichtsfenster anzuzeigen

versuchte ich

cv2.imshow('frame', frame) 

Aber die nächste Anweisung

if cv2.waitKey(1) & 0xFF == ord('q'): 
    break 

scheint die Aussage zu entfernen, ein Problem zu verursachen. So ersetzte ich es mit

cv2.waitKey(delay=5000) 
    break 

Aber es funktioniert nicht für die angegebene Verzögerungszeit warten und geht auf die nächste Ausführung von Anweisungen, die ich nicht will.

Was mache ich falsch und wie repariere ich es? Ich verwende Python 2.7.9 und 2.4.9 OpenCV

+0

Ich habe einen Weg gefunden. Diese Aussage war innerhalb einer Schleife. 'while (cap.isOpened()):' Ich habe stattdessen einen Zähler hinzugefügt und durch eine einfache Inkrement-Anweisung hat es funktioniert! 'while (incr <100):' Das gibt mir genug Werte für die Verfolgung der Augenbewegung. – vss

Antwort

0

Die documentation Staaten über den waitKey Befehl:

Hinweis: Die Funktion funktioniert nur, wenn mindestens ein HighGUI Fenster ist erstellt und das Fenster ist aktiv. Wenn mehrere HighGUI Fenster vorhanden sind, kann jedes von ihnen aktiv sein.

So können Sie entweder ein Fenster öffnen, das andere etwas tut, zeigen als das aktuelle Bild der Webcam oder verwenden anothersleep Befehl für eine bestimmte Zeit zu warten.