Spaces:
Running
Running
from pathlib import Path | |
from inference import Predictor as MyPredictor | |
from utils import read_image | |
import cv2 | |
import tempfile | |
from utils.image_processing import resize_image, normalize_input, denormalize_input | |
import numpy as np | |
from cog import BasePredictor, Path, Input | |
class Predictor(BasePredictor): | |
def setup(self): | |
pass | |
def predict( | |
self, | |
image: Path = Input(description="Image"), | |
model: str = Input( | |
description="Style", | |
default='Hayao:v2', | |
choices=[ | |
'Hayao', | |
'Shinkai', | |
'Hayao:v2' | |
] | |
) | |
) -> Path: | |
version = model.split(":")[-1] | |
predictor = MyPredictor(model, version) | |
img = read_image(str(image)) | |
anime_img = predictor.transform(resize_image(img))[0] | |
out_path = Path(tempfile.mkdtemp()) / "out.png" | |
cv2.imwrite(str(out_path), anime_img[..., ::-1]) | |
return out_path | |