|
|
import gradio as gr |
|
|
from rembg import remove |
|
|
from PIL import Image |
|
|
|
|
|
def replace_bg(input_img, bg_img): |
|
|
|
|
|
input_img = input_img.convert("RGBA") |
|
|
|
|
|
fg = remove(input_img) |
|
|
|
|
|
if bg_img is None: |
|
|
return fg |
|
|
|
|
|
bg_img = bg_img.convert("RGBA").resize(fg.size) |
|
|
combined = Image.alpha_composite(bg_img, fg) |
|
|
return combined |
|
|
|
|
|
demo = gr.Interface( |
|
|
fn=replace_bg, |
|
|
inputs=[gr.Image(type="pil", label="Upload Image"), |
|
|
gr.Image(type="pil", label="Upload Background (Optional)")], |
|
|
outputs=gr.Image(type="pil", label="Result"), |
|
|
title="Background Replace Tool", |
|
|
description="Upload a photo and replace its background with your own image." |
|
|
) |
|
|
|
|
|
demo.launch() |