From e6623e558927fcce071c6e45c3c642530f325d91 Mon Sep 17 00:00:00 2001 From: Rick Rongen Date: Wed, 13 Jan 2021 19:38:57 +0100 Subject: [PATCH] feat: added facial recognition --- control/camera.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/control/camera.py b/control/camera.py index c141813..16e5381 100644 --- a/control/camera.py +++ b/control/camera.py @@ -4,6 +4,10 @@ from typing import Optional import cv2 from PIL import Image +FACE_DATA = 'haarcascade_frontalface_default.xml' + +face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + FACE_DATA) + class Camera: capture: cv2.VideoCapture @@ -15,6 +19,12 @@ class Camera: return_code, image = self.capture.read() if not return_code: return None + image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + + faces = face_cascade.detectMultiScale(image_gray, 1.3, 5) + for (x, y, w, h) in faces: + image = cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2) + image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) jpg = Image.fromarray(image_rgb) byte_stream = BytesIO()