OpenCV Face Detection with Haar Cascade Classifier

  • Share this:

Code introduction


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