Spaces:
Runtime error
Runtime error
import modules.async_worker as worker | |
import os | |
import cv2 | |
import imageio | |
import numpy as np | |
import rembg | |
import torch | |
import PIL.Image | |
from PIL import Image | |
from typing import Any | |
class pipeline: | |
def remove_background( | |
self, | |
image: PIL.Image.Image, | |
rembg_session: Any = None, | |
force: bool = False, | |
**rembg_kwargs, | |
) -> PIL.Image.Image: | |
do_remove = True | |
if image.mode == "RGBA" and image.getextrema()[3][0] < 255: | |
do_remove = False | |
do_remove = do_remove or force | |
if do_remove: | |
image = rembg.remove(image, session=rembg_session, **rembg_kwargs) | |
return image | |
pipeline_type = ["rembg"] | |
model_hash = "" | |
# Optional function | |
def parse_gen_data(self, gen_data): | |
gen_data["original_image_number"] = gen_data["image_number"] | |
gen_data["image_number"] = 1 | |
gen_data["show_preview"] = False | |
return gen_data | |
def load_base_model(self, name): | |
return | |
def load_keywords(self, lora): | |
return " " | |
def load_loras(self, loras): | |
return | |
def refresh_controlnet(self, name=None): | |
return | |
def clean_prompt_cond_caches(self): | |
return | |
def process( | |
self, | |
gen_data=None, | |
callback=None, | |
): | |
worker.add_result( | |
gen_data["task_id"], | |
"preview", | |
(-1, f"Removing background ...", None) | |
) | |
rembg_session = rembg.new_session() | |
image = self.remove_background(gen_data["input_image"], rembg_session) | |
# Return finished image to preview | |
if callback is not None: | |
callback(1, 0, 0, 1, image) | |
return [image] | |