PericlesRodrigues01 commited on
Commit
0843c61
·
verified ·
1 Parent(s): 2a8c4ad

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from ultralytics import YOLO
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ # 1. Carregar o seu modelo treinado
7
+ # O Hugging Face baixa automaticamente do seu repositório de modelos
8
+ # Substitua 'PericlesRodrigues01' pelo seu usuário se for diferente
9
+ model = YOLO("PericlesRodrigues01/futebol-yolov8-detector")
10
+
11
+ def detect_objects(image):
12
+ # 2. Fazer a predição
13
+ # conf=0.25: Confiança mínima
14
+ # iou=0.4: Eliminar caixas duplicadas
15
+ results = model.predict(image, conf=0.25, iou=0.4)
16
+
17
+ # 3. Gerar a imagem com as caixas desenhadas
18
+ # O YOLO retorna a imagem em formato BGR (padrão OpenCV),
19
+ # mas o Gradio precisa de RGB. Vamos converter.
20
+ result_array = results[0].plot() # Cria o array com os desenhos
21
+ result_rgb = result_array[..., ::-1] # Inverte de BGR para RGB
22
+
23
+ return Image.fromarray(result_rgb)
24
+
25
+ # 4. Criar a Interface do Gradio
26
+ interface = gr.Interface(
27
+ fn=detect_objects, # Função que será chamada
28
+ inputs=gr.Image(type="pil"), # Entrada: Imagem enviada pelo usuário
29
+ outputs=gr.Image(type="pil"), # Saída: Imagem com as detecções
30
+ title="⚽ Detecção de Jogadores - YOLOv8",
31
+ description="Faça upload de uma imagem de futebol ou tênis para detectar Jogadores, Bolas e Equipamentos.",
32
+ examples=[["exemplo1.jpg"], ["exemplo2.jpg"]] # (Opcional) Se você subir imagens de exemplo
33
+ )
34
+
35
+ # 5. Iniciar o App
36
+ if __name__ == "__main__":
37
+ interface.launch()