documentOCR / app.py
sarim's picture
base64 image
207fbf1
raw
history blame
1.51 kB
import os
# os.system('chmod 777 /tmp')
# os.system('apt-get update -y')
# os.system('apt-get install tesseract-ocr -y')
# os.system('pip install -q pytesseract')
#from base64 import b64decode, b64encode
#from io import BytesIO
import base64
import io
import tesserocr
from fastapi import FastAPI, File, Form
from PIL import Image
from transformers import pipeline
#import streamlit as st
# pytesseract.pytesseract.tesseract_cmd = r’./Tesseract-OCR/tesseract.exe’
choices = os.popen('tesseract --list-langs').read().split('\n')[1:-1]
description = """
Upload Receipt and get
"""
app = FastAPI(
title="ReceiptOCR",
docs_url="/", description=description)
pipe = pipeline("document-question-answering", model="impira/layoutlm-document-qa")
@app.post("/image")
def read_root(imageBase64:str):
img = Image.open(io.BytesIO(base64.decodebytes(bytes(imageBase64, "utf-8"))))
print(img)
image = img
question_1 = "What is the Total amount?"
question_2 = "What is Total VAT amount?"
question_3 = "What is the Date?"
question_4 = "What is the total amount currency?"
output_1 = pipe(image, question_1)
output_2 = pipe(image, question_2)
output_3 = pipe(image, question_3)
output_4 = pipe(image, question_4)
response = {}
response['total amount'] = output_1[0]['answer']
response['toal vat'] = output_2[0]['answer']
response['date'] = output_3[0]['answer']
response['currency'] = output_4[0]['answer']
return response