File size: 1,099 Bytes
66afc13 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import gradio as gr
from rembg import remove
from PIL import Image
import io
def remove_background(input_image):
# Convert the image to bytes
img_byte_arr = io.BytesIO()
input_image.save(img_byte_arr, format="PNG")
img_byte_arr = img_byte_arr.getvalue()
# Apply background removal using rembg
output_bytes = remove(img_byte_arr)
# Convert the output (bytes) back into a PIL image
output_image = Image.open(io.BytesIO(output_bytes))
return output_image
# Create the Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# Background Removal Tool")
with gr.Row():
input_image = gr.Image(type="pil", label="Upload an image")
output_image = gr.Image(label="Processed Image")
submit_button = gr.Button("Submit")
submit_button.click(remove_background, inputs=input_image, outputs=output_image)
# Optional: Add a clear button
clear_button = gr.Button("Clear")
def clear_images():
return None
clear_button.click(clear_images, inputs=None, outputs=input_image)
# Launch the Gradio app
demo.launch() |