import spaces import gradio as gr from PIL import Image from transparent_background import Remover import numpy as np # Initialize the model globally remover = Remover(jit=False) @spaces.GPU def process_image(input_image, output_type): global remover if output_type == "Mask only": # Process the image and get only the mask output = remover.process(input_image, type='map') if isinstance(output, Image.Image): # If output is already a PIL Image, convert to grayscale mask = output.convert('L') else: # If output is a numpy array, convert to PIL Image mask = Image.fromarray((output * 255).astype(np.uint8), mode='L') return mask else: # Process the image and return the RGBA result output = remover.process(input_image, type='rgba') return output description = """