| 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): |
| target_size = int(target_size) |
| 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", |
| api_name="resize", |
| submit_btn=gr.Button("Resize", variant="primary"), |
| flagging_mode="never", |
| ) |
| demo.queue( |
| max_size=10, |
| ) |
| app_theme = gr.themes.Monochrome(primary_hue="red") |
| if __name__ == "__main__": |
| demo.launch(theme=app_theme) |
|
|