|
import gradio as gr |
|
from transparent_background import Remover |
|
from PIL import Image |
|
import numpy as np |
|
|
|
def remove_background(image): |
|
remover = Remover() |
|
if isinstance(image, Image.Image): |
|
output = remover.process(image) |
|
elif isinstance(image, np.ndarray): |
|
image_pil = Image.fromarray(image) |
|
output = remover.process(image_pil) |
|
else: |
|
raise TypeError("Unsupported image type") |
|
return output |
|
|
|
css = """ |
|
body { |
|
background-color: #f5f5f5; |
|
font-family: Arial, sans-serif; |
|
} |
|
.input_image, .output_image { |
|
border-radius: 10px; |
|
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); |
|
} |
|
.gr-button { |
|
background-color: #4CAF50; |
|
color: white; |
|
border: none; |
|
padding: 10px 20px; |
|
text-align: center; |
|
font-size: 16px; |
|
cursor: pointer; |
|
border-radius: 5px; |
|
margin: 4px 2px; |
|
} |
|
.gr-button:hover { |
|
background-color: #45a049; |
|
} |
|
""" |
|
|
|
iface = gr.Interface( |
|
fn=remove_background, |
|
inputs=gr.Image(label="Upload Image", css_class="input_image"), |
|
outputs=gr.Image(label="Output Image", css_class="output_image"), |
|
live=True, |
|
css=css |
|
) |
|
|
|
iface.launch() |
|
|