import gradio as gr import cv2 import numpy as np from PIL import Image from pycocotools.coco import COCO from pycocotools import mask as maskUtils # Cargar el archivo JSON de anotaciones para COCO coco = COCO('_annotations.coco.json') # Reemplaza con el nombre correcto del archivo # Cargar el modelo preentrenado model = "modelo_preentrenado" # Reemplaza con el nombre del modelo preentrenado que elijas # Definir función para generar la segmentación y mostrar resultados def show_segmentation(image): # Procesar la imagen y generar la segmentación usando el modelo # Asegúrate de procesar la imagen según los requisitos del modelo # y obtener la máscara de segmentación # Aquí puedes usar el modelo para generar la máscara de segmentación # segmentation_mask = generate_segmentation_mask(image) # Visualizar la imagen original y la máscara de segmentación # Visualiza "image" y "segmentation_mask" usando la función "visualize" # Aquí está la implementación de "visualize" que usaste anteriormente plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.imshow(image) plt.title('Imagen') plt.axis('off') plt.subplot(1, 2, 2) plt.imshow(segmentation_mask, cmap='gray') plt.title('Máscara de segmentación') plt.axis('off') plt.tight_layout() plt.show() return image, segmentation_mask # Cambia esto según lo que quieras retornar inputs = [gr.inputs.Image(type="pil", label="Input Image")] outputs = [gr.outputs.Image(type="pil", label="Segmented Image"), gr.outputs.Image(type="numpy", label="Segmentation Mask")] interface = gr.Interface(fn=show_segmentation, inputs=inputs, outputs=outputs, title="Image Segmentation") interface.launch()