| 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() |
|
|