import gradio as gr import imageio import numpy as np def dummy(img, invert_mask): mask = img["mask"] if invert_mask and mask is not None: mask = 255 - np.array(mask) imageio.imwrite("output_image.png", mask) return img["image"], mask with gr.Blocks() as demo: with gr.Row(): img = gr.Image(tool="sketch", label="base image", show_label=True) img1 = gr.Image() img2 = gr.Image(label="mask image", show_label=True) invert = gr.Checkbox(label="Invert mask") btn = gr.Button() btn.click(dummy, [img, invert], [img1, img2]) demo.launch(debug=True)