i2ibg / app.py
Geek7's picture
Create app.py
66afc13 verified
raw
history blame
1.1 kB
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()