import cv2 import gradio as gr import numpy as np def detect_face(image): # Load Haar cascade from OpenCV face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') img = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2) return cv2.cvtColor(img, cv2.COLOR_BGR2RGB) iface = gr.Interface(fn=detect_face, inputs=gr.Image(), outputs=gr.Image()) iface.launch()