ImageGenerator / app.py
pasuntaxih's picture
Update app.py
1f14c06 verified
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()