Opencv-Python-Programm zur Gesichtserkennung
Das Ziel des angegebenen Programms besteht darin, das interessierende Objekt (Gesicht) in Echtzeit zu erkennen und dasselbe Objekt weiterhin zu verfolgen. Dies ist ein einfaches Beispiel für die Gesichtserkennung in Python. Sie können versuchen, Trainingsmuster eines beliebigen anderen zu erkennenden Objekts Ihrer Wahl zu verwenden, indem Sie den Klassifikator auf erforderliche Objekte trainieren. Nachfolgend finden Sie die Schritte zum Herunterladen der Anforderungen.
Schritte:
- Laden Sie die Python 2.7.x-Version Numpy und die Opencv 2.7.x-Version herunter. Überprüfen Sie, ob Ihr Windows 32-Bit oder 64-Bit kompatibel ist, und installieren Sie es entsprechend.
- Stellen Sie sicher, dass Numpy in Ihrem Python ausgeführt wird, und versuchen Sie dann, OpenCV zu installieren.
- Legen Sie die Dateien haarcascade_eye.xml und haarcascade_frontalface_default.xml im selben Ordner ab (Links im folgenden Code).
Durchführung
Python # OpenCV program to detect face in real time # import libraries of python OpenCV # where its functionality resides import cv2 # load the required trained XML classifiers # https://github.com/opencv/opencv/tree/master # data/haarcascades/haarcascade_frontalface_default.xml # Trained XML classifiers describes some features of some # object we want to detect a cascade function is trained # from a lot of positive(faces) and negative(non-faces) # images. face_cascade = cv2 . CascadeClassifier ( 'haarcascade_frontalface_default.xml' ) # https://github.com/opencv/opencv/tree/master # /data/haarcascades/haarcascade_eye.xml # Trained XML file for detecting eyes eye_cascade = cv2 . CascadeClassifier ( 'haarcascade_eye.xml' ) # capture frames from a camera cap = cv2 . VideoCapture ( 0 ) # loop runs if capturing has been initialized. while 1 : # reads frames from a camera ret img = cap . read () # convert to gray scale of each frames gray = cv2 . cvtColor ( img cv2 . COLOR_BGR2GRAY ) # Detects faces of different sizes in the input image faces = face_cascade . detectMultiScale ( gray 1.3 5 ) for ( x y w h ) in faces : # To draw a rectangle in a face cv2 . rectangle ( img ( x y )( x + w y + h )( 255 255 0 ) 2 ) roi_gray = gray [ y : y + h x : x + w ] roi_color = img [ y : y + h x : x + w ] # Detects eyes of different sizes in the input image eyes = eye_cascade . detectMultiScale ( roi_gray ) #To draw a rectangle in eyes for ( ex ey ew eh ) in eyes : cv2 . rectangle ( roi_color ( ex ey )( ex + ew ey + eh )( 0 127 255 ) 2 ) # Display an image in a window cv2 . imshow ( 'img' img ) # Wait for Esc key to stop k = cv2 . waitKey ( 30 ) & 0xff if k == 27 : break # Close the window cap . release () # De-allocate any associated memory usage cv2 . destroyAllWindows ()
Ausgabe:
Nächster Artikel:
Opencv C++ Programm zur Gesichtserkennung Quiz erstellen