|
import gradio as gr |
|
from image_resizer import ImageResizer |
|
|
|
MODEL_PATH = "face_detection_yunet_2023mar.onnx" |
|
image_resizer = ImageResizer(modelPath=MODEL_PATH) |
|
|
|
|
|
def face_detector(input_image, target_size=512): |
|
return image_resizer.resize(input_image, target_size) |
|
|
|
|
|
inputs = [ |
|
gr.Image(sources=["upload", "clipboard"], type="numpy"), |
|
gr.Dropdown( |
|
choices=[512, 768, 1024], |
|
value=512, |
|
allow_custom_value=True, |
|
info="Target size of images", |
|
), |
|
] |
|
outputs = [ |
|
gr.Image(label="face detection", format="JPEG"), |
|
gr.Image(label="focused resized", format="JPEG"), |
|
] |
|
demo = gr.Interface( |
|
fn=face_detector, |
|
inputs=inputs, |
|
outputs=outputs, |
|
title="Image Resizer", |
|
theme="gradio/monochrome", |
|
api_name="resize", |
|
submit_btn=gr.Button("Resize", variant="primary"), |
|
allow_flagging="never", |
|
) |
|
demo.queue( |
|
max_size=10, |
|
) |
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|