You can download this code by clicking the button below.
This code is now available for download.
This function uses the Haar feature classifier from the OpenCV library to detect faces in an image and draws rectangles around the detected faces.
Technology Stack : OpenCV, Numpy
Code Type : Function
Code Difficulty : Intermediate
def face_detection(image_path):
import cv2
import numpy as np
# Load a pre-trained face detector model
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Read the image
image = cv2.imread(image_path)
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 detection results
return image