Face-Detection / app.py
sdafd's picture
Rename main.py to app.py
10c5470
raw
history blame
838 Bytes
import gradio as gr
from mtcnn.mtcnn import MTCNN
import cv2
import numpy as np
# Function to perform face detection using MTCNN
def detect_faces(image):
# Load the image
img = cv2.imdecode(np.frombuffer(image.read(), np.uint8), -1)
# Create an MTCNN detector
detector = MTCNN()
# Detect faces in the image
faces = detector.detect_faces(img)
# Draw bounding boxes around the faces
for face in faces:
x, y, width, height = face['box']
cv2.rectangle(img, (x, y), (x + width, y + height), (0, 255, 0), 2)
# Convert the image to RGB format for Gradio
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
return img_rgb
# Create a Gradio interface
iface = gr.Interface(
fn=detect_faces,
inputs=gr.Image(),
outputs="image"
)
# Launch the Gradio interface
iface.launch()