import inspect from typing import List, Optional, Union import numpy as np import torch import PIL import gradio as gr from diffusers import StableDiffusionInpaintPipeline from rembg import remove def greet(name): img_url = "https://cdn.faire.com/fastly/893b071985d70819da5f0d485f1b1bb97ee4f16a6e14ef1bdd4a086b3588be58.png" # wino image = download_image(img_url).resize((512, 512)) inverted_mask_image = remove(data = image, only_mask = True) mask_image = PIL.ImageOps.invert(inverted_mask_image) return "Hello " + name + "!!" iface = gr.Interface(fn=greet, inputs="text", outputs="text") iface.launch() # def image_grid(imgs, rows, cols): # assert len(imgs) == rows*cols # w, h = imgs[0].size # grid = PIL.Image.new('RGB', size=(cols*w, rows*h)) # grid_w, grid_h = grid.size # for i, img in enumerate(imgs): # grid.paste(img, box=(i%cols*w, i//cols*h)) # return grid def download_image(url): response = requests.get(url) return PIL.Image.open(BytesIO(response.content)).convert("RGB") # def predict(dict, prompt): # image = dict['image'].convert("RGB").resize((512, 512)) # mask_image = dict['mask'].convert("RGB").resize((512, 512)) # images = pipe(prompt=prompt, image=image, mask_image=mask_image).images # return(images[0])