Face Detection with OpenCV Haar Cascade

  • Share this:

Code introduction


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                
              
Tags: