Spaces:
Sleeping
Sleeping
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() |