zxbsmk's picture
Duplicate from zxbsmk/license_plate_recognition
d94f42d
raw
history blame contribute delete
No virus
1.68 kB
import numpy as np
import gradio as gr
from PIL import Image
from grounded_sam_plate import recognize_plate
CUT_RATIO = 0.15
def process(input_img, cut_ratio):
result = recognize_plate(input_img, cut_ratio=cut_ratio)
return result['plate'], result['rectified_plate'], result['detection'], result['chinese']
with gr.Blocks() as demo:
gr.Markdown(
"""
please visit https://github.com/ZhengJun-AI/license_plate_recognition.
this demo only support some Chinese characters: [鄂, 桂, 黑, 冀, 贵, 京, 鲁, 闽, 苏, 皖, 豫, 粤, 新, 川, 吉, 津, 辽, 陕, 浙, 蒙]
"""
)
with gr.Row():
image_input = gr.Image(label="Input Image")
image_output = gr.Image(label="Rectified Plate", height=300)
with gr.Accordion("Check more details", open=False):
with gr.Row():
cut_ratio = gr.Slider(0, 1, value=CUT_RATIO, step=0.01, label="Cut ratio")
chinese = gr.Image(label="Chinese", height=100)
image_detection = gr.Image(label="Detection result")
result = gr.Textbox(lines=1, label="Result")
image_button = gr.Button("Run")
image_button.click(process, inputs=[image_input, cut_ratio], outputs=[result, image_output, image_detection, chinese])
gr.Markdown("## Examples")
gr.Examples(
examples=[
['./images/0.jpg', 0.15],
['./images/1.jpeg', 0.15],
['./images/6.jpeg', 0.15],
['./images/5.jpg', 0.15],
],
inputs=[image_input, cut_ratio],
outputs=[result, image_output, image_detection, chinese],
fn=process,
cache_examples=True,
)
demo.launch()