Amazing-Python-Scripts
54 строки · 1.6 Кб
1# Face and Eye Detection
2import cv23
4# PATH of the FILE
5CLASSIFIER_PATH = "./Facedetection/v2/haarcascade_frontalface_default.xml"6EYEDETECTION_PATH = "./Facedetection/v2/haarcascade_eye.xml"7
8# Live video capturing
9cam = cv2.VideoCapture(0)10
11# Initializing classifier
12face_classifier = cv2.CascadeClassifier(CLASSIFIER_PATH)13EYE_DETECTION = cv2.CascadeClassifier(EYEDETECTION_PATH)14
15while (True):16
17_, frame = cam.read()18
19# Converting to grayscale image20gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)21
22# Returns coordinates of all faces in the frame23faces = face_classifier.detectMultiScale(gray, 1.3, 5)24# Cycle through each coordinate list25for (x, y, w, h) in faces:26
27# Extracting mid points of bounding box28mid_x = int(x + h/2)29mid_y = int(y + h/2)30
31# Drawing - "bounding box"32frame = cv2.rectangle(frame, (x, y), (x + h, y + h), (255, 0, 0), 2)33# 'x-coordinate' on live feed34frame = cv2.putText(frame, str(x), (x, y),35cv2.FONT_HERSHEY_DUPLEX, 0.7, (0, 0, 255), 2)36# "." represent mid part in face37frame = cv2.putText(frame, ".", (mid_x, mid_y),38cv2.FONT_HERSHEY_DUPLEX, 0.7, (0, 0, 255), 2)39
40# Detects The Eyes41eyes = EYE_DETECTION.detectMultiScale(gray, 1.3, 5)42for (ex, ey, ew, eh) in eyes:43cv2.rectangle(frame, (ex, ey), (ex+eh, ey+eh), (0, 255, 0), 2)44
45# Displaying video feed with detected faces46cv2.imshow('Frame', frame)47
48# Reading for keyboard interrupts49key = cv2.waitKey(1)50if (key == 27):51break52
53cam.release()54cv2.destroyAllWindows()55