Spaces:
Sleeping
Sleeping
| import logging | |
| from typing import List | |
| import torch | |
| import numpy as np | |
| from PIL import Image | |
| from helpers import flush, postprocess_image_masking, convolution | |
| from pipelines import get_inpainting_pipeline | |
| LOGGING = logging.getLogger(__name__) | |
| def make_inpainting(positive_prompt: str, | |
| image: Image, | |
| mask_image: np.ndarray, | |
| negative_prompt: str, | |
| num_of_images: int, | |
| resolution:int ) -> List[Image.Image]: | |
| print("make_inpainting", positive_prompt, image, mask_image, negative_prompt, num_of_images, resolution) | |
| """Method to make inpainting | |
| Args: | |
| positive_prompt (str): positive prompt string | |
| image (Image): input image | |
| mask_image (np.ndarray): mask image | |
| negative_prompt (str, optional): negative prompt string. Defaults to "". | |
| Returns: | |
| List[Image.Image]: list of generated images | |
| """ | |
| pipe = get_inpainting_pipeline() | |
| mask_image = Image.fromarray((mask_image * 255).astype(np.uint8)) | |
| mask_image_postproc = convolution(mask_image) | |
| flush() | |
| retList=[] | |
| for x in range(num_of_images): | |
| resp = pipe(image=image, | |
| mask_image=mask_image, | |
| prompt=positive_prompt, | |
| negative_prompt=negative_prompt, | |
| num_inference_steps=50, | |
| height=resolution, | |
| width=resolution, | |
| ) | |
| print("RESP !!!!",resp) | |
| generated_image = resp.images[0] | |
| generated_image = postprocess_image_masking(generated_image, image, mask_image_postproc) | |
| retList.append(generated_image) | |
| return retList | |