import gradio as gr | |
import numpy as np | |
import imageio | |
def process_image(img): | |
imageio.imwrite("output_image.png", img["composite"]) | |
alpha_channel = img["layers"][0][:, :, 3] | |
mask = np.where(alpha_channel == 0, 0, 255) | |
# return img["background"], mask | |
return mask | |
# with gr.Blocks() as demo: | |
# with gr.Row(): | |
# img = gr.ImageMask(sources=["upload"], layers=False, transforms=[], format="png", label="base image", show_label=True) | |
# img1 = gr.Image() | |
# img2 = gr.Image(label="mask image", show_label=True) | |
# btn = gr.Button() | |
# btn.click(dummy, img, [img1, img2]) | |
# Define the Gradio interface | |
demo = gr.Interface( | |
fn=process_image, | |
inputs=gr.ImageMask(sources=["upload"], layers=False, transforms=[], format="png", label="base image", show_label=True, height = 600), | |
outputs=[ | |
# gr.Image(label="Background Image"), | |
gr.Image(label="Mask Image"), | |
], | |
) | |
demo.launch(debug=True) |