import os os.system("pip install opencv-python") os.system("pip install gradio --upgrade") import gradio as gr import cv2 import numpy as np def image_to_silhouette(image): # Convertir imagen a escala de grises gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Aplicar bordes edges = cv2.Canny(gray, 50, 150) # Crear máscara con forma de silueta negra silhouette = np.zeros_like(image) silhouette[:,:,0] = edges silhouette[:,:,1] = edges silhouette[:,:,2] = edges return silhouette # Crear interfaz de usuario con Gradio interface = gr.Interface(fn=image_to_silhouette, inputs="image", outputs="image") # Añadir cajas de texto y botón input_box = interface.input_components[0] output_box = interface.output_components[0] convert_button = gr.Button("Convertir") # Función para manejar el evento de clic del botón def on_button_clicked(sender): # Obtener imagen de la caja de entrada image = input_box.value # Convertir imagen a silueta y mostrar en la caja de salida silhouette = image_to_silhouette(image) output_box.value = silhouette # Asignar función al evento de clic del botón convert_button.on_click(on_button_clicked) interface.launch(title="Silueta")