You can download this code by clicking the button below.
This code is now available for download.
This function uses the Haar feature cascade classifier from the OpenCV library for face detection and draws rectangles around the detected faces in the image.
Technology Stack : OpenCV, Numpy
Code Type : The type of code
Code Difficulty : Advanced
def face_detection(image_path):
import cv2
import numpy as np
# Load the pre-trained face detection model
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Read the image
image = cv2.imread(image_path)
# Convert the image to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Detect faces in the image
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Draw rectangles around the detected faces
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
# Return the image with face detections
return image