Spaces:
Runtime error
Runtime error
| import matplotlib.pyplot as plt | |
| import numpy as np | |
| from PIL import Image, ImageFilter | |
| import io | |
| import time | |
| import os | |
| import copy | |
| import pickle | |
| import datetime | |
| import urllib.request | |
| import gradio as gr | |
| import torch | |
| from mmocr.apis import MMOCRInferencer | |
| ocr = MMOCRInferencer(det="TextSnake", rec="ABINet_Vision") | |
| url = "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Draft_Marks_on_the_Bow_of_Kruzenshtern_Port_of_Tallinn_16_July_2011.jpg/1600px-Draft_Marks_on_the_Bow_of_Kruzenshtern_Port_of_Tallinn_16_July_2011.jpg" | |
| path_input = "./example1.jpg" | |
| urllib.request.urlretrieve(url, filename=path_input) | |
| url = "https://upload.wikimedia.org/wikipedia/commons/3/3e/733_how-deep.jpg" | |
| path_input = "./example2.jpg" | |
| urllib.request.urlretrieve(url, filename=path_input) | |
| path_img_output_folder = "./demo-out" | |
| path_img_input_folder = "./demo-input" | |
| def do_process(img): | |
| img_name = "tmp.jpg" | |
| path_input = os.path.join(path_img_input_folder, img_name) | |
| path_output = os.path.join(path_img_output_folder, "vis", img_name) | |
| img.save(path_input) | |
| # img.save(path_output) | |
| result = ocr(path_input, out_dir=path_img_output_folder, save_vis=True) | |
| img_res = Image.open(path_output) | |
| return img_res, result["predictions"][0]["rec_texts"] | |
| input_im = gr.inputs.Image( | |
| shape=None, image_mode="RGB", invert_colors=False, source="upload", type="pil" | |
| ) | |
| output_img = gr.outputs.Image(label="Output of OCR", type="pil") | |
| output_txt = gr.outputs.Textbox(type='text', label='predictions') | |
| title = "Reading draught marks" | |
| description = ( | |
| "Playground: Reading draught marks using pre-trained models. Tools: MMOCR, Gradio. Source of images: Wikipedia." | |
| ) | |
| examples = [["./example1.jpg"], ["./example2.jpg"]] | |
| article = "<p style='text-align: center'><a href='https://github.com/mawady' target='_blank'>By Dr. Mohamed Elawady</a></p>" | |
| iface = gr.Interface( | |
| fn=do_process, | |
| inputs=[input_im], | |
| outputs=[output_img, output_txt], | |
| live=False, | |
| interpretation=None, | |
| title=title, | |
| description=description, | |
| article=article, | |
| examples=examples, | |
| ) | |
| iface.launch(debug=True) | |