Spaces:
Running
on
Zero
Running
on
Zero
import streamlit as st | |
from transformers import TrOCRProcessor, VisionEncoderDecoderModel | |
from PIL import Image | |
import torch | |
st.title("Handwriting Detection AI") | |
def load_model(): | |
processor = TrOCRProcessor.from_pretrained('microsoft/trocr-base-handwritten') | |
model = VisionEncoderDecoderModel.from_pretrained('microsoft/trocr-base-handwritten') | |
return processor, model | |
processor, model = load_model() | |
def predict_text(image): | |
pixel_values = processor(images=image, return_tensors="pt").pixel_values | |
generated_ids = model.generate(pixel_values) | |
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0] | |
return generated_text | |
uploaded_file = st.file_uploader("Upload a Handwritten Image", type=["png", "jpg", "jpeg"]) | |
if uploaded_file is not None: | |
image = Image.open(uploaded_file) | |
st.image(image, caption='Uploaded Handwritten Image', use_column_width=True) | |
generated_text = predict_text(image) | |
st.write(f"Recognized Text: {generated_text}") |