MagicFace_Lab / app.py
MagicFaceLab's picture
Create app.py
657f39a verified
raw
history blame
1.1 kB
import gradio as gr
import os
import torch
import cv2
import numpy as np
from roop.utilities.device import get_device
from roop.processors.frame_processor import process_frame
# 选择 CPU 或 GPU 设备
device = get_device()
print(f"Using device: {device}")
def swap_face(source_img, target_img):
try:
# 读取输入图像
source = cv2.imread(source_img)
target = cv2.imread(target_img)
# 进行人脸替换
result = process_frame(source, target, device=device)
# 保存结果
output_path = "output.jpg"
cv2.imwrite(output_path, result)
return output_path
except Exception as e:
return str(e)
with gr.Blocks() as demo:
gr.Markdown("# Roop Face Swap (Hugging Face)")
with gr.Row():
source_img = gr.Image(type="filepath", label="Source Face")
target_img = gr.Image(type="filepath", label="Target Image")
btn = gr.Button("Swap Face")
output_img = gr.Image(label="Output Image")
btn.click(swap_face, inputs=[source_img, target_img], outputs=output_img)
demo.launch()