huvimal/Vietnamese-document-intelligence-platform
0
1import streamlit as st
2from PIL import Image
3import numpy as np
4import easyocr
5
6st.set_page_config(
7 page_title="Vietnamese Document Intelligence",
8 layout="wide"
9)
10
11st.title("๐ Vietnamese Document Intelligence Platform")
12
13st.write("Upload an image to extract text.")
14
15@st.cache_resource
16def load_reader():
17 reader = easyocr.Reader(
18 ['en'],
19 gpu=False
20 )
21 return reader
22
23try:
24 reader = load_reader()
25
26 uploaded_file = st.file_uploader(
27 "Upload Image",
28 type=["png", "jpg", "jpeg"]
29 )
30
31 if uploaded_file:
32
33 image = Image.open(uploaded_file)
34
35 st.image(
36 image,
37 caption="Uploaded Image",
38 use_container_width=True
39 )
40
41 image_np = np.array(image)
42
43 with st.spinner("Extracting text..."):
44 results = reader.readtext(image_np)
45
46 extracted_text = "\n".join(
47 [item[1] for item in results]
48 )
49
50 st.subheader("OCR Result")
51
52 st.text_area(
53 "Extracted Text",
54 extracted_text,
55 height=300
56 )
57
58except Exception as e:
59 st.error(f"Error: {str(e)}")