Tahir5 commited on
Commit
323d5ae
·
verified ·
1 Parent(s): 38813c8

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import TrOCRProcessor, VisionEncoderDecoderModel
3
+ from PIL import Image
4
+ import requests
5
+
6
+ def load_model():
7
+ processor = TrOCRProcessor.from_pretrained('microsoft/trocr-base-printed')
8
+ model = VisionEncoderDecoderModel.from_pretrained('microsoft/trocr-base-printed')
9
+ return processor, model
10
+
11
+ def process_image(image, processor, model):
12
+ pixel_values = processor(images=image, return_tensors="pt").pixel_values
13
+ generated_ids = model.generate(pixel_values)
14
+ generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
15
+ return generated_text
16
+
17
+ st.title("Print OCR with TrOCR")
18
+
19
+ # Load model and processor
20
+ processor, model = load_model()
21
+
22
+ # File uploader
23
+ uploaded_file = st.file_uploader("Upload an image", type=["jpg", "png", "jpeg"])
24
+
25
+ if uploaded_file is not None:
26
+ image = Image.open(uploaded_file).convert("RGB")
27
+ st.image(image, caption="Uploaded Image", use_column_width=True)
28
+
29
+ with st.spinner("Extracting text..."):
30
+ extracted_text = process_image(image, processor, model)
31
+
32
+ st.subheader("Extracted Text:")
33
+ st.write(extracted_text)
34
+
35
+ # Example URL processing
36
+ st.write("Or try with an example image:")
37
+ default_url = "https://fki.tic.heia-fr.ch/static/img/a01-122-02-00.jpg"
38
+ if st.button("Process Example Image"):
39
+ image = Image.open(requests.get(default_url, stream=True).raw).convert("RGB")
40
+ st.image(image, caption="Example Image", use_column_width=True)
41
+ with st.spinner("Extracting text..."):
42
+ extracted_text = process_image(image, processor, model)
43
+ st.subheader("Extracted Text:")
44
+ st.write(extracted_text)