-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFaceDetection.py
More file actions
27 lines (19 loc) · 853 Bytes
/
FaceDetection.py
File metadata and controls
27 lines (19 loc) · 853 Bytes
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
26
27
import cv2
import os
face_cascades = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
def detect_faces(img, draw_box=True):
grayscale_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascades.detectMultiScale(grayscale_img,scaleFactor=1.6)
for (x,y,width,height) in faces:
if draw_box:
cv2.rectangle(img,(x,y),(x+width,y+height),(0,255,0),5)
face_box =img[y:y+height,x:x+height]
face_coords = [x,y,width,height]
return img, face_box, face_coords
if __name__ == "__main__":
files = os.listdir('sample_faces')
images = [file for file in files if 'jpg' in file]
for image in images:
img = cv2.imread('sample_faces/' + image)
detected_faces, _, _ = detect_faces(img)
cv2.imwrite('sample_faces/detected_faces/' + image, detected_faces)