| 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() |
|
|
| |
| 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", |
| ) |
|
|
| |
| 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 |
| """ |
| ) |
| |
| |
| submit_btn.click( |
| fn=predict, |
| inputs=input_image, |
| outputs=output_image, |
| ) |
|
|
| |
| demo.launch( |
| share=True, |
| debug=False, |
| enable_queue=True, |
| server_name="0.0.0.0", |
| server_port=7860, |
| ) |