Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import io | |
| from PIL import Image | |
| import numpy as np | |
| from config import WIDTH, HEIGHT | |
| from models import make_image_controlnet, make_inpainting | |
| from preprocessing import preprocess_seg_mask, get_image, get_mask | |
| def image_to_byte_array(image: Image) -> bytes: | |
| # BytesIO is a fake file stored in memory | |
| imgByteArr = io.BytesIO() | |
| # image.save expects a file as a argument, passing a bytes io ins | |
| image.save(imgByteArr, format='png') # image.format | |
| # Turn the BytesIO object back into a bytes object | |
| imgByteArr = imgByteArr.getvalue() | |
| return imgByteArr | |
| def predict(input_img1, | |
| input_img2, | |
| positive_prompt, | |
| negative_prompt, | |
| num_of_images | |
| ): | |
| print("predict") | |
| # input_img1 = Image.fromarray(input_img1) | |
| # input_img2 = Image.fromarray(input_img2) | |
| input_img1 = input_img1.resize((WIDTH, HEIGHT)) | |
| input_img2 = input_img2.resize((WIDTH, WIDTH)) | |
| canvas_mask = np.array(input_img2) | |
| mask = get_mask(canvas_mask) | |
| print(input_img1, mask, positive_prompt, negative_prompt) | |
| retList=[] | |
| for x in range(num_of_images): | |
| result_image = make_inpainting(positive_prompt=positive_prompt, | |
| image=input_img1, | |
| mask_image=mask, | |
| negative_prompt=negative_prompt, | |
| ) | |
| retList.append(result_image) | |
| while (len(retList)<10): | |
| retList.append(None) | |
| return retList | |
| app = gr.Interface( | |
| predict, | |
| inputs=[gr.Image(label="img", sources=['upload'], type="pil"), | |
| gr.Image(label="mask", sources=['upload'], type="pil"), | |
| gr.Textbox(label="positive_prompt"), | |
| gr.Textbox(label="negative_prompt"), | |
| gr.Number(label="num_of_images") | |
| ], | |
| outputs= [ | |
| gr.Image(label="resp0"), | |
| gr.Image(label="resp1"), | |
| gr.Image(label="resp2"), | |
| gr.Image(label="resp3"), | |
| gr.Image(label="resp4"), | |
| gr.Image(label="resp5"), | |
| gr.Image(label="resp6"), | |
| gr.Image(label="resp7"), | |
| gr.Image(label="resp8"), | |
| gr.Image(label="resp9")], | |
| title="rem fur 1", | |
| ) | |
| app.launch(share=True) | |
| # | |
| # gr.Interface( | |
| # test1, | |
| # inputs=[gr.Textbox(label="param1")], | |
| # outputs= gr.Textbox(label="result"), | |
| # title="rem fur 1", | |
| # ).launch(share=True) | |