import gradio as gr from rembg import remove from PIL import Image import io import uuid import os OUTPUT_DIR = "outputs" os.makedirs(OUTPUT_DIR, exist_ok=True) def remove_background(image: Image.Image): if image is None: return None, None # Rimuove lo sfondo output = remove(image) # Salva l'immagine in un file temporaneo file_id = str(uuid.uuid4()) output_path = os.path.join(OUTPUT_DIR, f"{file_id}.png") output.save(output_path) # Restituisce: immagine modificata, link file per download return output, output_path # Interfaccia Gradio demo = gr.Interface( fn=remove_background, inputs=gr.Image( type="pil", label="Carica un'immagine o usa la webcam", sources=["upload", "webcam"], ), outputs=[ gr.Image(type="pil", label="Immagine senza sfondo"), gr.File(label="Scarica il file PNG") ], title="Rimozione Sfondo da Immagine", description="Carica un'immagine, rimuovi lo sfondo e scarica il file PNG risultante." ) if __name__ == "__main__": demo.launch()