Skip to content

Commit 5d66004

Browse files
Update FaceDetector.py
1 parent 01c25f6 commit 5d66004

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

FaceDetector/FaceDetector.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import numpy as np
2+
import cv2
3+
4+
EyeCascade = cv2.CascadeClassifier('Cascades/EyeCascade.xml')
5+
FaceCascade = cv2.CascadeClassifier('Cascades/FaceCascade.xml')
6+
SmileCascade = cv2.CascadeClassifier('Cascades/SmileCascade.xml')
7+
8+
cap = cv2.VideoCapture(0)
9+
cap.set(3,640)
10+
cap.set(4,480)
11+
while True:
12+
ret, img = cap.read()
13+
img = cv2.flip(img, -1)
14+
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
15+
faces = FaceCascade.detectMultiScale(
16+
gray,
17+
scaleFactor=1.3,
18+
minNeighbors=5,
19+
minSize=(30, 30)
20+
)
21+
for (x,y,w,h) in faces:
22+
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
23+
roi_gray = gray[y:y+h, x:x+w]
24+
roi_color = img[y:y+h, x:x+w]
25+
eyes = EyeCascade.detectMultiScale(
26+
roi_gray,
27+
scaleFactor= 1.5,
28+
minNeighbors=5,
29+
minSize=(5, 5),
30+
)
31+
for (ex, ey, ew, eh) in eyes:
32+
cv2.rectangle(roi_color, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
33+
smile = SmileCascade.detectMultiScale(
34+
roi_gray,
35+
scaleFactor= 1.5,
36+
minNeighbors=15,
37+
minSize=(25, 25),
38+
)
39+
for (xx, yy, ww, hh) in smile:
40+
cv2.rectangle(roi_color, (xx, yy), (xx + ww, yy + hh), (0, 255, 0), 2)
41+
cv2.imshow('video', img)
42+
k = cv2.waitKey(30) & 0xff
43+
if k == 27:
44+
break
45+
46+
cap.release()
47+
cv2.destroyAllWindows()

0 commit comments

Comments
 (0)