import os os.system("pip install --upgrade pip") os.system("pip install torch torchvision") os.system("pip install numpy==1.21.0 mmcv-full openmim requests") os.system("mim install mmdet") os.system('git clone https://github.com/open-mmlab/mmocr.git') os.system('pip install -r mmocr/requirements.txt') os.system('pip install -v -e mmocr') os.system('export PYTHONPATH=$(pwd)/mmocr:$PYTHONPATH') os.system('pip freeze') import sys import requests sys.path.append('./mmocr') from gradio import inputs,outputs,Interface from PIL import Image from mmocr.utils.ocr import MMOCR # load image examples urls = ['https://i0.wp.com/www.kento.com.my/wp-content/uploads/2020/09/ikhsan-sports-shop-3D-stainless-steel-kento.jpg', 'https://automology.s3.ap-southeast-1.amazonaws.com/wp-content/uploads/2019/08/12224246/P.-Mampos.jpg'] for idx, url in enumerate(urls): print(url) image = Image.open(requests.get(url, stream=True).raw) image.save(f"image_{idx}.png") det = ["DB_r18","DB_r50","DRRG","FCE_IC15","MaskRCNN_CTW","MaskRCNN_IC15","MaskRCNN_IC17","PS_CTW","PS_IC15","TextSnake"] rec = ["CRNN","SAR","NRTR_1/16-1/8","NRTR_1/8-1/4","RobustScanner","SATRN","SATRN_sm","ABINet","SEG","CRNN_TPS"] # [MMOCR(config_dir="mmocr/configs/",det=i,recog=None,device="cpu") for i in det] # [MMOCR(config_dir="mmocr/configs/",det=None,recog=i,device="cpu") for i in rec] def process_image(detection_model_name,recognizer_model_name,image_path): ocr = MMOCR(config_dir="mmocr/configs/",det=detection_model_name,recog=recognizer_model_name,device="cpu") results = ocr.readtext(image_path,output='demo/det_out.jpg') img = Image.open("demo/det_out.jpg") return [img,results[0]["text"]] title = "Interactive demo: MMOCR" description = "OpenMMLab Text Detection, Recognition and Understanding Toolbox" article = "Github repo: https://github.com/open-mmlab/mmocr" examples =[["TextSnake","RobustScanner",f"image_{i}.png"] for i in range(len(urls))] #css = """.output_image, .input_image {height: 600px !important}""" iface = Interface(fn=process_image, inputs=[ inputs.Dropdown(det,type="value"), inputs.Dropdown(rec,type="value"), inputs.Image(type="filepath") ], outputs=[outputs.Image(type="pil"),outputs.Textbox()], title=title, description=description, article=article, examples=examples ) iface.launch(debug=False)