通过paddlehub简单几行代码实现OCR识别

一、前置条件

1、ubuntu系统
2、python3、pip已经安装完毕
3、paddlepaddle、paddlehub、cv2、gradio 、matplotlib 安装完毕

二、实现代码 ocr.py

import paddlehub as hub
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import gradio as gr
import cv2

ocr = hub.Module(name="chinese_ocr_db_crnn_mobile")

def fn(input_img):
    np_images =[cv2.imread(input_img)]
    results = ocr.recognize_text(
                    images=np_images,         # 图片数据,ndarray.shape 为 [H, W, C],BGR格式;
                    use_gpu=False,            # 是否使用 GPU;若使用GPU,请先设置CUDA_VISIBLE_DEVICES环境变量
                    output_dir='ocr_result',  # 图片的保存路径,默认设为 ocr_result;
                    visualization=True,       # 是否将识别结果保存为图片文件;
                    box_thresh=0.5,           # 检测文本框置信度的阈值;
                    text_thresh=0.5)          # 识别中文文本置信度的阈值;
    out = ""
    for element in results[0]['data']:
        out += element['text']
        out += "\n"
    return out

with gr.Blocks(title="OCR") as demo:
    gr.Markdown("# OCR")
    gr.Interface(fn, gr.Image(type = "filepath"), "text")
    
demo.launch(server_name="0.0.0.0", server_port=6789)

三、运行效果

python3 ocr.py

通过paddlehub简单几行代码实现OCR识别_第1张图片

你可能感兴趣的:(AI,ocr)