Face_Detect_App / app.py
fidantokac's picture
Update app.py
4a83ead verified
raw
history blame
1.66 kB
import cv2
import gradio as gr
# Yüz tespiti için önceden eğitilmiş bir model yüklenir
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
def detect_faces(img):
if img is None: # Eğer img None ise, None döndür
return None
# Resmi istenen boyuta küçült
height, width, _ = img.shape
if height > 750 or width > 750:
img = cv2.resize(img, (750, 750))
# Görüntüyü gri tonlamaya çevir
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Yüzleri tespit et
faces = face_cascade.detectMultiScale(gray, 1.3, 7)
count = 0
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
count += 1
cv2.putText(img, f"** {count} people were detect in the photo.", (100, 700), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255,000 ), 2)
return img
# Gradio arayüzünü oluştur
with gr.Blocks() as demo:
gr.Markdown("#Face Detect App-Basic")
with gr.Row():
input_image = gr.Image(label="Upload a photo", type="numpy")
output_image = gr.Image(label="Detect Area")
apply_button = gr.Button("Detect")
clear_button = gr.Button("Clear")
input_image.change(fn=detect_faces, inputs=input_image, outputs=output_image)
apply_button.click(fn=detect_faces, inputs=input_image, outputs=output_image)
clear_button.click(fn=lambda: (None, None), inputs=None, outputs=[input_image, output_image]) # Fotoğrafı temizlemek için (None, None) döndür
'''iface = gr.Interface(
fn=detect_faces,
inputs="image",
outputs="image",
title="Yüz Tespiti Uygulaması"
)'''
demo.launch()