-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathR1.py
More file actions
58 lines (40 loc) · 1.47 KB
/
R1.py
File metadata and controls
58 lines (40 loc) · 1.47 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cv2
import numpy as np
path = cv2.data.haarcascades + "haarcascade_frontalface_default.xml"
path2 = cv2.data.haarcascades + "haarcascade_eye.xml"
# Inicializa o classificador cascade
face_classifier = cv2.CascadeClassifier(path)
olhos_classifier = cv2.CascadeClassifier(path2)
# configura a captura de imagem da webcam
video_cap = cv2.VideoCapture(0)
# se a webcam abrir pego um frame
if video_cap.isOpened():
rval, frame = video_cap.read()
else:
rval = False
while rval:
# Converte o frame para escala de cinza
img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Realiza a detecção de face na imagem em cinza
faces_return = face_classifier.detectMultiScale(img_gray, scaleFactor = 1.2, minNeighbors = 5)
# Faz a varredura na lista de faces detectadas em faces_return
for (x,y,w,h) in faces_return:
# Desenha um retangulo em cada face detectada
img = frame.copy()
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),1)
# Aplica uma mascara no frame completo
img[y:y+h, x:x+w] = cv2.medianBlur(img[y:y+h, x:x+w],35)
# Exibe saida da imagem
cv2.imshow("result", img)
# Exibe saida da imagem
cv2.imshow("normal", frame)
# Atualiza com um novo frame
rval, frame = video_cap.read()
# ESC para sair do programa
key = cv2.waitKey(10)
if key == 27:
break
video_cap.release()
cv2.destroyAllWindows()