Spaces:
Running
Running
File size: 3,074 Bytes
1f25689 2064e3d e0f15a2 1f25689 92d9b00 139ee29 e0f15a2 a62524f e0f15a2 139ee29 d6166cf e0f15a2 b2929ff e0f15a2 f877ad1 e0f15a2 f877ad1 e0f15a2 1f25689 838acff 1f25689 838acff 1f25689 838acff 1f25689 838acff e8df8bc 838acff 9791f04 838acff e0f15a2 9069025 838acff 1f25689 |
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 69 70 71 72 73 74 75 76 |
import numpy as np
import gradio as gr
import cv2
import os
import argparse
from inference import Predictor
#from black import to_black
# os.system("wget https://huggingface.co/YANGYYYY/cartoonize/tree/main/GeneratorV2_train_photo_Hayao_init.pt")
# if os.path.exists("GeneratorV2_train_photo_Hayao_init.pt"):
# print("下载成功!")
# else:
# print("下载失败!")
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('--weight', type=str, default='GeneratorV2_train_photo_Hayao_init.pt')
parser.add_argument('--device', type=str, default='cpu', help='Device, cuda or cpu')
return parser.parse_args()
def transfer(image, transfer_style):
if transfer_style == "Hayao":
#output = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 转换为灰度图像
#os.system("wget https://huggingface.co/YANGYYYY/cartoonize/resolve/main/GeneratorV2_train_photo_Hayao_init.pt")
args = parse_args()
predictor = Predictor(args.weight, args.device)
anime_img = predictor.transform_image(image)
return anime_img
elif transfer_style == "Shinkai":
args = parse_args()
args.weight = 'GeneratorV2_train_photo_Shinkai_init.pt'
predictor = Predictor(args.weight, args.device)
anime_img = predictor.transform_image(image)
return anime_img
elif transfer_style == "Kon Satoshi":
args = parse_args()
args.weight = 'GeneratorV2_train_photo_Paprika_init.pt'
predictor = Predictor(args.weight, args.device)
anime_img = predictor.transform_image(image)
return anime_img
else:
return image
def clear_output(input_widget):
input_widget = np.array([])
with gr.Blocks() as demo:
gr.Markdown("Transfer image or video files using this demo.")
with gr.Tabs():
with gr.TabItem("Transfer Image"):
with gr.Row():
image_input = gr.Image()
image_output = gr.Image()
with gr.Row():
image_dropdown = gr.Dropdown(label="Transfer Style",choices=["Hayao", "Shinkai", "Kon Satoshi"])
image_button = gr.Button("Transfer")
clear_image_button = gr.Button("Clear")
with gr.TabItem("Transfer Video"):
with gr.Row():
video_input = gr.Video()
video_output = gr.Video()
with gr.Row():
video_dropdown = gr.Dropdown(label="Transfer Style",choices=["Hayao", "Shinkai", "Kon Satoshi"])
video_button = gr.Button("Transfer")
clear_video_button = gr.Button("Clear")
image_button.click(transfer, inputs=[image_input,image_dropdown], outputs=image_output)
video_button.click(transfer, inputs=[video_input,video_dropdown], outputs=video_output)
clear_image_button.click(clear_output, inputs=image_input,outputs=image_output)
clear_video_button.click(clear_output, inputs=video_input,outputs=video_output)
demo.launch()
# 启动接口
#demo.launch(server_name='127.0.0.1',server_port=7788)
|