|
import sys |
|
sys.path.append('.') |
|
sys.path.append('./face_recognition') |
|
import os |
|
import io |
|
import cv2 |
|
import base64 |
|
import json |
|
import gradio as gr |
|
import requests |
|
import numpy as np |
|
from io import BytesIO |
|
import configparser |
|
import numpy as np |
|
from PIL import Image |
|
|
|
from face_recognition.match import match_1_1 |
|
|
|
|
|
|
|
def face_recognition_on_file(file1, file2): |
|
img1 = cv2.imread(file1) |
|
img2 = cv2.imread(file2) |
|
|
|
response = match_1_1(img1, img2) |
|
|
|
return response |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown( |
|
""" |
|
# FacePlugin Online Demo |
|
|
|
""" |
|
) |
|
|
|
with gr.TabItem("Face Recognition"): |
|
with gr.Row(): |
|
with gr.Column(): |
|
first_input = gr.Image(type='filepath') |
|
gr.Examples(['images/rec_5.jpg', 'images/rec_1.jpg', 'images/9.png', 'images/rec_3.jpg'], |
|
inputs=first_input) |
|
start_button = gr.Button("Run") |
|
with gr.Column(): |
|
second_input = gr.Image(type='filepath') |
|
gr.Examples(['images/rec_6.jpg', 'images/rec_2.jpg', 'images/10.jpg', 'images/rec_4.jpg'], |
|
inputs=second_input) |
|
|
|
with gr.Column(): |
|
app_output = [gr.JSON()] |
|
|
|
start_button.click(face_recognition_on_file, inputs=[first_input, second_input], outputs=app_output) |
|
|
|
demo.queue().launch(share=True) |
|
|