Spaces:
Running
Running
File size: 1,487 Bytes
dbdbddf 1abadf7 dbdbddf 1abadf7 7667d72 1abadf7 dbdbddf 1abadf7 7667d72 8b21536 1abadf7 dbdbddf 1abadf7 dbdbddf 1abadf7 7667d72 1a4398d fe10d73 1abadf7 fe10d73 dbdbddf 1abadf7 fe10d73 1a4398d fe10d73 3d45b3a 56ebfe0 fe10d73 dbdbddf 1abadf7 |
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 34 35 36 37 38 39 40 41 42 43 44 45 |
import os
from doctr.io import DocumentFile
from doctr.models import ocr_predictor, from_hub
import gradio as gr
os.environ['USE_TORCH'] = '1'
reco_model = from_hub('ayymen/crnn_mobilenet_v3_large_zgh')
predictor = ocr_predictor(reco_arch=reco_model, pretrained=True)
title = "Tifinagh OCR"
description = """Upload an image to get the OCR results!
Thanks to @iseddik for the data!"""
def ocr(img):
img.save("out.jpg")
doc = DocumentFile.from_images("out.jpg")
output = predictor(doc)
res = ""
for obj in output.pages:
for obj1 in obj.blocks:
for obj2 in obj1.lines:
for obj3 in obj2.words:
res = res + " " + obj3.value
res = res + "\n"
res = res + "\n\n"
_output_name = "RESULT_OCR.txt"
open(_output_name, 'w', encoding="utf-8").close() # clear file
with open(_output_name, "w", encoding="utf-8", errors="ignore") as f:
f.write(res)
print("Writing into file")
return res, _output_name
demo = gr.Interface(fn=ocr,
inputs=gr.Image(type="pil"),
outputs=[
gr.Textbox(lines=10, label="Full Text"),
gr.File(label="Download OCR Results")
],
title=title,
description=description,
examples=[["Examples/1.jpg"],["Examples/2.jpg"],["Examples/3.png"]]
)
demo.launch(debug=True)
|