deepdoctection / app.py
JaMe76's picture
Update app.py
95ea484
raw
history blame
1.41 kB
import os
os.system('pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.9/index.html')
from deepdoctection.dataflow import DataFromList
from deepdoctection import get_dd_analyzer
from deepdoctection import Image
import gradio as gr
def analyze_image(img):
# creating an image object and passing to the analyzer by using dataflows
image = Image(file_name="input.png", location="")
image.image = img[:,:,::-1]
df = DataFromList(lst=[image])
analyzer = get_dd_analyzer()
df = analyzer.analyze(dataset_dataflow=df)
df.reset_state()
dp = next(iter(df))
out = dp.as_dict()
out.pop("image")
return dp.viz(show_table_structure=False), dp.get_text(), out
inputs = [gr.inputs.Image(type='numpy', label="Original Image")]
outputs = [gr.outputs.Image(type="numpy", label="Output Image"), "text", gr.JSON()]
title = "Deepdoctection - A Document AI Package"
description = "Demonstration of layout analysis and output of a document page. This demo uses the deepdoctection analyzer with Tesseract's OCR engine. Models detect text, titles, tables, figures and lists as well as table cells. Based on the layout it determines reading order and generates an JSON output."
examples = [['sample_1.jpg'],['sample_2.png']]
gr.Interface(analyze_image, inputs, outputs, title=title, description=description, examples=examples).launch()