NUWA-3dphoto / app.py
wangxiaodong
add app
64af900
import gradio as gr
from PIL import Image
import numpy as np
def draw_mask(img_info):
img = img_info['image']
img_mask = img_info['mask']
img = img.convert('RGB')
img_array= np.array(img)
img_mask_array = np.array(img_mask.convert('RGB'))
img_mask = img_mask.convert('L')
blue_img_mask = img_mask.convert('RGB')
blue_img_mask_array = np.array(blue_img_mask)
blue_img_mask_array[:,:,2:] = 0
blue_img = Image.fromarray(blue_img_mask_array)
print(img_mask_array.shape)
# print(img_mask_array.max()) #255
img_mask_array = img_mask_array//255
blend_img = (1-img_mask_array)*img_array + (img_mask_array)*(blue_img_mask_array)
blend_img = Image.fromarray(blend_img)
unmask_img = Image.fromarray((1-img_mask_array)*img_array)
w, h = img_mask.size
return [img, blend_img]
def print_slider(n_input):
return f'{n_input}'
with gr.Blocks() as demo:
gr.Markdown("Flip text or image files using this demo.")
with gr.Tabs():
with gr.TabItem("Flip Text"):
# text_input = gr.Textbox()
# text_output = gr.Textbox()
# with gr.Column():
# n_input_btn = gr.Button()
img_mask = gr.Image(value=None, source='upload', interactive=True,
type='pil', tool='sketch', image_mode='RGBA')
text_button = gr.Button("test")
image_input = gr.Gallery().style(grid=[2,2])
# n_input_btn.click(print_slider, inputs=n_input, outputs=text_output)
text_button.click(draw_mask, inputs=[img_mask], outputs=[image_input])
# img_mask.change(print_shpe, inputs=[img_mask], outputs=text_output)
demo.launch()