Tho Bui
update
6bccbd3
import gradio as gr
from dotenv import load_dotenv, find_dotenv
import easyocr
_ = load_dotenv(find_dotenv())
out_textbox = gr.TextArea(
label="Output",
info="Data extracted",
lines=10,
value="",
interactive= True
)
def process(filepath):
reader = easyocr.Reader(['en'],gpu=True)
result = reader.readtext(filepath, batch_size=3)
latest_x = 0
latest_y = 0
content = ""
x_to_charactor = 0
for x,y,z in result:
current_x = x[0][0]
current_y = x[0][1]
if x_to_charactor == 0:
x_to_charactor = (x[1][0] - x[0][0])/(len(y))
if current_y - latest_y > 10:
content += f"""
"""
num_space = int((current_x - 0)/x_to_charactor)
if num_space > 1 and latest_x != 0:
for i in range(num_space):
content += f""" """
content += f"""{y}"""
else:
num_space = int((current_x - latest_x)/x_to_charactor)
if num_space > 1 and latest_x != 0:
for i in range(num_space):
content += f""" """
content += f""" {y}"""
latest_x = x[1][0]
latest_y = current_y
yield content
with gr.Blocks() as demo:
gr.Interface(
process,
[gr.Image(type="filepath")],
[out_textbox],
flagging_options=[],
examples=[]
)
demo.launch(server_name="0.0.0.0", server_port=7860)