kebincontreras's picture
Rename app.py to app_1.py
ae5a698 verified
import gradio as gr
import cv2
import torch
from PIL import Image
import numpy as np
# Cargar el modelo YOLO (usando YOLOv5 como ejemplo)
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # Puedes cambiar 'yolov5s' por cualquier otro modelo
# Funci贸n para realizar detecci贸n de objetos
def detect_objects(image):
# Convertir la imagen a un formato compatible con OpenCV
image = np.array(image)
# Hacer la detecci贸n con YOLO
results = model(image)
# Renderizar los resultados (dibujar las cajas de detecci贸n)
results_image = results.render()[0]
return Image.fromarray(results_image)
# Interfaz de Gradio para cargar una imagen
def gradio_interface():
with gr.Blocks() as demo:
# T铆tulo centrado
gr.Markdown(
"""
<center>
<h2>Fermentation Level Classification for Cocoa Beans</h2>
</center>
"""
)
# Bot贸n GitHub centrado justo debajo del t铆tulo
gr.Markdown(
"""
<center>
<a href="https://github.com/kebincontreras/cocoa_beans_interfaces" target="_blank" style="text-decoration: none;">
<button style="background-color: #007bff; color: white; padding: 10px 20px; border: none; border-radius: 5px; font-size: 16px;">GitHub</button>
</a>
</center>
"""
)
# Organizar im谩genes en la misma fila
with gr.Row():
img_input = gr.Image(label="Upload Image")
img_output = gr.Image(label="Image with Detected Objects")
# Bot贸n para aplicar la detecci贸n de objetos a la imagen subida
btn_detect_upload = gr.Button("Classify Fermentation Level")
# Conectar el bot贸n con la funci贸n de detecci贸n de objetos
btn_detect_upload.click(detect_objects, inputs=img_input, outputs=img_output)
return demo
# Ejecutar la aplicaci贸n
if __name__ == "__main__":
demo = gradio_interface()
demo.launch()