-
Notifications
You must be signed in to change notification settings - Fork 0
/
emotions1.py
25 lines (24 loc) · 1.16 KB
/
emotions1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Import required modules
import cv2
import dlib
# Set up some required objects
video_capture = cv2.VideoCapture(0) # Webcam object
detector = dlib.get_frontal_face_detector() # Face detector
predictor = dlib.shape_predictor(
"shape_predictor_68_face_landmarks.dat") # Landmark identifier. Set the filename to whatever you named the downloaded file
while True:
ret, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
clahe_image = clahe.apply(gray)
detections = detector(clahe_image, 1) # Detect the faces in the image
for k, d in enumerate(detections):
# For each detected face
shape = predictor(clahe_image, d)
# Get coordinates
for i in range(1, 68): # There are 68 landmark points on each face
cv2.circle(frame, (shape.part(i).x, shape.part(i).y), 1, (0, 0, 255),
thickness=2) # For each point, draw a red circle with thickness2 on the original frame
cv2.imshow("image", frame) # Display the frame
if cv2.waitKey(1) & 0xFF == ord('q'): # Exit program when the user presses 'q'
break