Spaces:
Sleeping
Sleeping
import streamlit as st | |
import io | |
from PIL import Image | |
import easyocr | |
from transformers import pipeline | |
# Create a text2text-generation pipeline with the "google/flan-t5-base" model | |
pipe = pipeline("text2text-generation", model="google/flan-t5-base") | |
# Initialize the EasyOCR reader for text extraction from images | |
ocr_reader = easyocr.Reader(['en']) | |
st.title("Text Explanation Model") | |
uploaded_file = st.file_uploader("Upload an image:") | |
if uploaded_file is not None: | |
# Read the uploaded image | |
image = Image.open(uploaded_file) | |
# Extract text from the image using OCR | |
ocr_results = ocr_reader.readtext(image) | |
extracted_text = " ".join([res[1] for res in ocr_results]) | |
st.markdown("**Extracted text:**") | |
st.markdown(extracted_text) | |
if extracted_text: | |
# Use the pipeline to generate a concise explanation | |
explanation = pipe(extracted_text, max_length=30, do_sample=True)[0]["generated_text"] | |
st.markdown("**Explanation (5-6 lines):**") | |
st.markdown(explanation) | |
else: | |
st.warning("No text extracted from the image.") | |
else: | |
st.markdown("Please upload an image to extract text and generate an explanation.") | |