Spaces:
Runtime error
Runtime error
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_contours(image): | |
try: | |
print("Original image type:", type(image)) | |
print("Original image shape:", image.shape) | |
# Convertir imagen a escala de grises | |
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) | |
print("Gray image shape:", gray.shape) | |
# Aplicar bordes | |
edges = cv2.Canny(gray, 50, 150) | |
print("Edges image shape:", edges.shape) | |
# busca los contornos de los objetos en la imagen | |
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) | |
# Crear una imagen negra para dibujar los contornos | |
silhouette = np.zeros((image.shape[0], image.shape[1], 3), dtype=np.uint8) | |
# Dibuja los contornos en la imagen negra | |
cv2.drawContours(silhouette, contours, -1, (255, 255, 255), 1) | |
print("Silhouette image shape:", silhouette.shape) | |
return silhouette | |
except Exception as e: | |
print("An error occurred:", e) | |
return "Error" | |
# Crear interfaz de usuario con Gradio | |
gr.Interface( | |
image_to_silhouette, | |
gr.inputs.Image(type="filepath", label="Input"), | |
gr.outputs.Image(type="pil", label="Output"), | |
css="Footer {visibility: hidden}" | |
).launch() |