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