import gradio as gr import cv2 import numpy as np # Función para dibujar rectángulos en la imagen def draw_rectangle(img, x1, y1, x2, y2, color): # Convertir los valores a enteros x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # Dibujar el rectángulo en la imagen cv2.rectangle(img, (x1, y1), (x2, y2), color, -1) # -1 para rellenar el rectángulo # Función principal para la interfaz def paint_app(color, x1, y1, x2, y2): # Crear una imagen en blanco img = np.zeros((400, 400, 3), dtype=np.uint8) # Dibujar el rectángulo draw_rectangle(img, x1, y1, x2, y2, color) return img # Definir los colores disponibles colors = ["Red", "Green", "Blue", "Yellow", "White"] # Crear la interfaz de Gradio iface = gr.Interface( fn=paint_app, inputs=[ gr.Slider(minimum=0, maximum=399, step=1, label="X1"), # Coordenada X1 del rectángulo gr.Slider(minimum=0, maximum=399, step=1, label="Y1"), # Coordenada Y1 del rectángulo gr.Slider(minimum=0, maximum=399, step=1, label="X2"), # Coordenada X2 del rectángulo gr.Slider(minimum=0, maximum=399, step=1, label="Y2"), # Coordenada Y2 del rectángulo gr.Dropdown(colors, label="Color") # Selección de color ], outputs=gr.Image(width=400, height=400) ) # Ejecutar la interfaz iface.launch()