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()