| import os |
|
|
| import gradio as gr |
| from PIL import Image |
|
|
| from index import query_character |
|
|
|
|
| def _fn(image: Image.Image, count: int = 10, threshold: float = 0.8): |
| return query_character(image, count, order_by='same_ratio', threshold=threshold) |
|
|
|
|
| if __name__ == '__main__': |
| with gr.Blocks() as demo: |
| with gr.Row(): |
| with gr.Column(): |
| gr_input_image = gr.Image(type='pil', label='Original Image') |
| gr_max_count = gr.Slider(minimum=1, maximum=30, step=1, value=10, label='Max Query Count') |
| gr_threshold = gr.Slider(minimum=0.0, maximum=0.99, step=0.01, value=0.8, label='Threshold') |
| gr_submit = gr.Button(value='Submit', variant='primary') |
|
|
| with gr.Column(): |
| with gr.Tabs(): |
| with gr.Tab('Gallery'): |
| gr_gallery = gr.Gallery(label='Gallery') |
|
|
| with gr.Tab('Information'): |
| gr_table = gr.DataFrame(label='Information') |
|
|
| gr_submit.click( |
| _fn, |
| inputs=[gr_input_image, gr_max_count, gr_threshold], |
| outputs=[gr_gallery, gr_table], |
| ) |
|
|
| demo.queue(os.cpu_count()).launch() |
|
|