Emiloz12 commited on
Commit
7c54047
·
verified ·
1 Parent(s): fc94094

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +86 -0
app.py ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import numpy as np
3
+ import gradio as gr
4
+ from ultralytics import YOLO
5
+
6
+ def predict(path: str):
7
+ model = YOLO("yolo11s.yaml")
8
+ model = YOLO("best.pt")
9
+ imagen = cv2.imread(path)
10
+ results = model.predict(source=path)
11
+ for r in results:
12
+ return r.plot()
13
+
14
+ # Definimos un tema personalizado
15
+ theme = gr.themes.Base(
16
+ primary_hue="blue",
17
+ secondary_hue="gray",
18
+ neutral_hue="gray",
19
+ font=["Helvetica", "ui-sans-serif", "system-ui", "sans-serif"],
20
+ ).set(
21
+ button_primary_background_fill="*primary_500",
22
+ button_primary_background_fill_hover="*primary_600",
23
+ button_primary_text_color="white",
24
+ block_title_text_color="*primary_500",
25
+ block_label_text_size="lg",
26
+ checkbox_label_text_size="lg",
27
+ input_background_fill="*neutral_50",
28
+ )
29
+
30
+ # Creamos la interfaz con diseño personalizado
31
+ with gr.Blocks(theme=theme, css="footer {display: none !important}") as demo:
32
+ gr.Markdown(
33
+ """
34
+ # 🚗 Sistema de Clasificación de Neumáticos
35
+ ## Detección Automatizada de Estado y Condiciones
36
+
37
+ Este sistema utiliza inteligencia artificial para analizar y clasificar el estado de los neumáticos
38
+ a partir de imágenes. Simplemente suba una foto y el sistema realizará el análisis automáticamente.
39
+ """
40
+ )
41
+
42
+ with gr.Row():
43
+ with gr.Column():
44
+ input_image = gr.Image(
45
+ type="filepath",
46
+ label="Imagen de Entrada",
47
+ elem_id="input_image"
48
+ )
49
+ submit_btn = gr.Button(
50
+ "Analizar Neumático",
51
+ variant="primary",
52
+ size="lg"
53
+ )
54
+
55
+ with gr.Column():
56
+ output_image = gr.Image(
57
+ type="numpy",
58
+ label="Resultado del Análisis"
59
+ )
60
+
61
+ with gr.Row():
62
+ gr.Markdown(
63
+ """
64
+ ### Instrucciones de Uso:
65
+ 1. Suba una imagen clara del neumático que desea analizar
66
+ 2. Haga clic en "Analizar Neumático"
67
+ 3. Espere unos segundos mientras el sistema procesa la imagen
68
+ 4. Los resultados se mostrarán en el panel derecho
69
+ """
70
+ )
71
+
72
+ # Configuramos el evento de clic del botón
73
+ submit_btn.click(
74
+ fn=predict,
75
+ inputs=input_image,
76
+ outputs=output_image,
77
+ )
78
+
79
+ # Lanzamos la aplicación
80
+ demo.launch(
81
+ share=True,
82
+ debug=False,
83
+ enable_queue=True,
84
+ server_name="0.0.0.0",
85
+ server_port=7860,
86
+ )