Download app.py from Emiloz12/Mod5DSELC: direct link, hf CLI and curl.
- Browser
- Download file 2.53 kB
-
https://huggingface.co/spaces/Emiloz12/Mod5DSELC/resolve/main/app.py
- Command line
-
hf download hf://spaces/Emiloz12/Mod5DSELC/app.py
-
curl -L -o app.py https://huggingface.co/spaces/Emiloz12/Mod5DSELC/resolve/main/app.py
2.53 kB
| import cv2 | |
| import numpy as np | |
| import gradio as gr | |
| from ultralytics import YOLO | |
| def predict(path: str): | |
| model = YOLO("yolo11s.yaml") | |
| model = YOLO("best.pt") | |
| imagen = cv2.imread(path) | |
| results = model.predict(source=path) | |
| for r in results: | |
| return r.plot() | |
| # Definimos un tema personalizado | |
| theme = gr.themes.Base( | |
| primary_hue="blue", | |
| secondary_hue="gray", | |
| neutral_hue="gray", | |
| font=["Helvetica", "ui-sans-serif", "system-ui", "sans-serif"], | |
| ).set( | |
| button_primary_background_fill="*primary_500", | |
| button_primary_background_fill_hover="*primary_600", | |
| button_primary_text_color="white", | |
| block_title_text_color="*primary_500", | |
| block_label_text_size="lg", | |
| checkbox_label_text_size="lg", | |
| input_background_fill="*neutral_50", | |
| ) | |
| # Creamos la interfaz con diseño personalizado | |
| with gr.Blocks(theme=theme, css="footer {display: none !important}") as demo: | |
| gr.Markdown( | |
| """ | |
| # 🚗 Sistema de Clasificación de Neumáticos | |
| ## Detección Automatizada de Estado y Condiciones | |
| Este sistema utiliza inteligencia artificial para analizar y clasificar el estado de los neumáticos | |
| a partir de imágenes. Simplemente suba una foto y el sistema realizará el análisis automáticamente. | |
| """ | |
| ) | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_image = gr.Image( | |
| type="filepath", | |
| label="Imagen de Entrada", | |
| elem_id="input_image" | |
| ) | |
| submit_btn = gr.Button( | |
| "Analizar Neumático", | |
| variant="primary", | |
| size="lg" | |
| ) | |
| with gr.Column(): | |
| output_image = gr.Image( | |
| type="numpy", | |
| label="Resultado del Análisis" | |
| ) | |
| with gr.Row(): | |
| gr.Markdown( | |
| """ | |
| ### Instrucciones de Uso: | |
| 1. Suba una imagen clara del neumático que desea analizar | |
| 2. Haga clic en "Analizar Neumático" | |
| 3. Espere unos segundos mientras el sistema procesa la imagen | |
| 4. Los resultados se mostrarán en el panel derecho | |
| """ | |
| ) | |
| # Configuramos el evento de clic del botón | |
| submit_btn.click( | |
| fn=predict, | |
| inputs=input_image, | |
| outputs=output_image, | |
| ) | |
| # Lanzamos la aplicación | |
| demo.launch( | |
| share=True, | |
| debug=False, | |
| enable_queue=True, | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| ) |