Fun with eyes
Now that we know how to detect eyes in an image, let's see if we can do something fun with it. We can do something like what is shown in the following screenshot:
Let's look at the code to see how to do something like this:
import cv2 import numpy as np face_cascade = cv2.CascadeClassifier('./cascade_files/haarcascade_frontalface_alt.xml') eye_cascade = cv2.CascadeClassifier('./cascade_files/haarcascade_eye.xml') if face_cascade.empty(): raise IOError('Unable to load the face cascade classifier xml file') if eye_cascade.empty(): raise IOError('Unable to load the eye cascade classifier xml file') img = cv2.imread('input.jpg') sunglasses_img = cv2.imread('sunglasses.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) centers = [] faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: roi_gray = gray[y:y+h, x:x+w] roi_color = img[y:y+h, x:x+w] eyes = eye_cascade.detectMultiScale(roi_gray) for (x_eye,y_eye,w_eye,h_eye) in eyes: ...