Spaces:
Sleeping
Sleeping
import gradio as gr | |
import io | |
from PIL import Image | |
import numpy as np | |
# from config import setResoluton | |
from models import make_image_controlnet, make_inpainting | |
from preprocessing import 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, | |
resolution | |
): | |
print("predict") | |
# bla bla | |
# input_img1 = Image.fromarray(input_img1) | |
# input_img2 = Image.fromarray(input_img2) | |
# setResoluton(resolution) | |
HEIGHT = resolution | |
WIDTH = resolution | |
# WIDTH = resolution | |
# HEIGHT = resolution | |
input_img1 = input_img1.resize((resolution, resolution)) | |
input_img2 = input_img2.resize((resolution, resolution)) | |
canvas_mask = np.array(input_img2) | |
mask = get_mask(canvas_mask) | |
print(input_img1, mask, positive_prompt, negative_prompt) | |
retList= make_inpainting(positive_prompt=positive_prompt, | |
image=input_img1, | |
mask_image=mask, | |
negative_prompt=negative_prompt, | |
num_of_images=num_of_images, | |
resolution=resolution | |
) | |
# add the rest up to 10 | |
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",value="empty room"), | |
gr.Textbox(label="negative_prompt",value=""), | |
gr.Number(label="num_of_images",value=2), | |
gr.Number(label="resolution",value=512) | |
], | |
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) | |