File size: 1,030 Bytes
7d820cd
 
 
 
f46a62b
48d388e
 
7d820cd
40ea18e
f46a62b
7d820cd
db269fa
f46a62b
7d820cd
 
f46a62b
 
7d820cd
 
 
 
f46a62b
7d820cd
f46a62b
7d820cd
f46a62b
7d820cd
 
f46a62b
b6b7afa
7d820cd
f46a62b
7d820cd
f46a62b
7d820cd
f46a62b
 
7d820cd
b6b7afa
 
 
f46a62b
7d820cd
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import easyocr as ocr  #OCR
import streamlit as st  #Web App
from PIL import Image #Image Processing
import numpy as np #Image Processing 

import re

#title
st.title("OCR - ML Example")

#subtitle
st.markdown("## Optical Character Recognition")

#image uploader
image = st.file_uploader(label = "Upload your image here",type=['png','jpg','jpeg'])


@st.cache
def load_model(): 
    reader = ocr.Reader(['en'],model_storage_directory='.')
    return reader 

reader = load_model() #load model

if image is not None:

    input_image = Image.open(image) #read image
    st.image(input_image) #display image

    with st.spinner("Please wait ... processing"):
        

        result = reader.readtext(np.array(input_image))

        result_text = [] #empty list for results


        for text in result:
            # only output if numbers and spaces
            if re.match("^[0-9 ]+$", text[1]):
                result_text.append(text[1])

        st.write(result_text)
    st.balloons()
else:
    st.write("Upload an Image")