|
import easyocr as ocr |
|
from PIL import Image |
|
import numpy as np |
|
import gradio as gr |
|
|
|
|
|
input = gr.inputs.Image(label="Upload your Image", type = type=['png','jpg','jpeg'], optional=True) |
|
|
|
def load_model(): |
|
reader = ocr.Reader(['en'],model_storage_directory='.') |
|
return reader |
|
|
|
def text(image): |
|
reader = load_model() |
|
input_image = Image.open(image) |
|
result = reader.readtext(np.array(input_image)) |
|
result_text = [] |
|
for text in result: |
|
result_text.append(text[1]) |
|
return result_text |
|
|
|
output = gr.outputs.Textbox(type="text",label="Captions") |
|
|
|
title = "Image Captioning " |
|
|
|
interface = gr.Interface( |
|
fn=text, |
|
inputs = input, |
|
theme="grass", |
|
outputs=output, |
|
title=title, |
|
) |
|
interface.launch(debug=True) |