PaddleOCR / app.py
02alexander's picture
update readme
5930569
raw
history blame
1.45 kB
from __future__ import annotations
import os
from pathlib import Path
import gradio as gr # type: ignore
import rerun as rr
import rerun.blueprint as rrb
from gradio_rerun import Rerun # type: ignore
from ocr import detect_and_log_layout # type: ignore
@rr.thread_local_stream("OCR")
def log_to_rr(img_path: Path):
print(img_path)
stream = rr.binary_stream()
blueprint = rrb.Blueprint(
rrb.Vertical(
rrb.Spatial2DView(name="Input", contents=["Image/**"]),
),
collapse_panels=True,
)
rr.send_blueprint(blueprint)
detect_and_log_layout(img_path)
yield stream.read()
with gr.Blocks() as demo:
with gr.Row():
with gr.Column(scale=1):
with gr.Row():
input_image = gr.Image(label="Input Image", image_mode="RGBA", sources="upload", type="filepath")
with gr.Row():
button = gr.Button()
with gr.Row():
gr.Examples(
examples=[os.path.join("examples", img_name) for img_name in sorted(os.listdir("examples"))],
inputs=[input_image],
label="Examples",
cache_examples=False,
examples_per_page=12,
)
with gr.Column(scale=4):
viewer = Rerun(streaming=True, height=900)
button.click(log_to_rr, inputs=[input_image], outputs=[viewer])
demo.launch()