File size: 985 Bytes
8d7cd2b
 
 
 
402f471
8d7cd2b
 
 
402f471
8d7cd2b
 
 
7a38bf7
 
8d7cd2b
7a38bf7
8d7cd2b
 
 
402f471
 
13c3ab4
8d7cd2b
 
 
 
4e3c19e
402f471
8d7cd2b
 
 
 
b7f1f18
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
from doctr.io import DocumentFile
from doctr.models import ocr_predictor
from PIL import Image
import gradio as gr
from transformers import pipeline

# Load the model
predictor = ocr_predictor(pretrained=True)
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

def read_img(image):
    # save image
    image.save('image.png')
    
    # Read the image
    doc = DocumentFile.from_images(['image.png'])
    # Run the model
    result = predictor(doc)
    # Return the result
    image_text = result.render()
    summary_text = summarizer(image_text, max_length=150, min_length=50, do_sample=False)
    return image_text, summary_text[0].get('summary_text'), result.show(doc)

app = gr.Interface(
    title="Image OCR",
    description="Extract text from images",
    inputs=gr.Image(type="pil", label="Input image"),
    outputs=[gr.Textbox(label="Image Text"), gr.Textbox(label="Summary"), gr.Image(label="Image")],
    fn=read_img
)
    

app.launch(debug=True)