Spaces:
Build error
Build error
File size: 2,500 Bytes
0e98280 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
import os
import cv2
import gradio as gr
import AnimeGANv3_src
os.makedirs('output', exist_ok=True)
def inference(img_path, Style, if_face=None):
print(img_path, Style, if_face)
try:
img = cv2.imread(img_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
if Style == "AnimeGANv3_Arcane":
f = "A"
elif Style == "AnimeGANv3_Trump v1.0":
f = "T"
elif Style == "AnimeGANv3_Shinkai":
f = "S"
elif Style == "AnimeGANv3_PortraitSketch":
f = "P"
elif Style == "AnimeGANv3_Hayao":
f = "H"
elif Style == "AnimeGANv3_Disney v1.0":
f = "D"
elif Style == "AnimeGANv3_JP_face v1.0":
f = "J"
else:
f = "U"
try:
det_face = True if if_face=="Yes" else False
output = AnimeGANv3_src.Convert(img, f, det_face)
save_path = f"output/out.{img_path.rsplit('.')[-1]}"
cv2.imwrite(save_path, output[:, :, ::-1])
return output, save_path
except RuntimeError as error:
print('Error', error)
except Exception as error:
print('global exception', error)
return None, None
gr.Interface(
inference, [
gr.inputs.Image(type="filepath", label="Input"),
gr.Dropdown([
'AnimeGANv3_Hayao',
'AnimeGANv3_Shinkai',
'AnimeGANv3_Arcane',
'AnimeGANv3_USA',
'AnimeGANv3_Trump v1.0',
'AnimeGANv3_Disney v1.0',
'AnimeGANv3_PortraitSketch',
'AnimeGANv3_JP_face v1.0',
],
type="value",
value='AnimeGANv3_Hayao',
label='AnimeGANv3 Style'),
gr.inputs.Radio(['Yes', 'No'], type="value", default='No', label='Extract face'),
], [
gr.outputs.Image(type="numpy", label="Output (The whole image)"),
gr.outputs.File(label="Download the output image")
],
allow_flagging="never",
examples=[['samples/7_out.jpg', 'AnimeGANv3_Arcane', "Yes"], ['samples/15566.jpg', 'AnimeGANv3_USA', "Yes"],['samples/23034.jpg', 'AnimeGANv3_Trump v1.0', "Yes"], ['samples/jp_13.jpg', 'AnimeGANv3_Hayao', "No"],
['samples/jp_20.jpg', 'AnimeGANv3_Shinkai', "No"], ['samples/Hamabe Minami.jpg', 'AnimeGANv3_Disney v1.0', "Yes"], ['samples/120.jpg', 'AnimeGANv3_JP_face v1.0', "Yes"], ['samples/52014.jpg', 'AnimeGANv3_PortraitSketch', "Yes"]]).launch(enable_queue=True)
|