AtlasOCR-demo / app.py
abdeljalilELmajjodi's picture
Update app.py
7225865 verified
raw
history blame
1.72 kB
import gradio as gr
import spaces
from PIL import Image
from .atlasocr_model import AtlasOCR
# Load model and processor
atlas_ocr=AtlasOCR()
@spaces.GPU
def perform_ocr(image):
output_text = atlas_ocr(image)
return output_text
# Create Gradio interface
with gr.Blocks(title="AtlasOCR") as demo:
gr.Markdown("# AtlasOCR")
gr.Markdown("Upload an image to extract Darija text in real-time. This model is specialized for Darija document OCR.")
with gr.Row():
with gr.Column(scale=1):
# Input image
image_input = gr.Image(type="numpy", label="Upload Image")
# Example gallery
gr.Examples(
examples=[
["2.jpg"],
["3.jpg"]
],
inputs=image_input,
label="Example Images",
examples_per_page=4
)
# Submit button
submit_btn = gr.Button("Extract Text")
with gr.Column(scale=1):
# Output text
output = gr.Textbox(label="Extracted Text", lines=20, show_copy_button=True)
# Model details
with gr.Accordion("Model Information", open=False):
gr.Markdown("""
**Model:** AtlasOCR-v0
**Description:** Darija OCR model
**Size:** 3B parameters
**Context window:** Supports up to 2000 output tokens
""")
# Set up processing flow
submit_btn.click(fn=perform_ocr, inputs=image_input, outputs=output)
image_input.change(fn=perform_ocr, inputs=image_input, outputs=output)
demo.launch()