|
import gradio as gr |
|
from rembg import remove |
|
from PIL import Image |
|
import io |
|
|
|
def remove_background(input_image): |
|
|
|
img_byte_arr = io.BytesIO() |
|
input_image.save(img_byte_arr, format="PNG") |
|
img_byte_arr = img_byte_arr.getvalue() |
|
|
|
|
|
output_bytes = remove(img_byte_arr) |
|
|
|
|
|
output_image = Image.open(io.BytesIO(output_bytes)) |
|
return output_image |
|
|
|
|
|
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) |
|
|
|
|
|
clear_button = gr.Button("Clear") |
|
def clear_images(): |
|
return None |
|
clear_button.click(clear_images, inputs=None, outputs=input_image) |
|
|
|
|
|
demo.launch() |