EasyOCR是一款支持多国语言,且轻量的文字识别模块,本文以一张真实的图片,带大家使用EasyOCR来做一个图片文字识别,并利用EasyOCR返回的坐标位置,将文字位置在图片中标注出来。
模块介绍
1、模块安装
pip3 install torch torchvision pip3 install easyocr
2、创建 Reader() 实例
reader = easyocr.Reader(),参数如下:
lang_list (list):识别语言代码,比如[‘ch_sim’,’en’]分别表示简体中文和英文。 gpu (bool, string, default = True) :是否使能GPU,只有安装了GPU版本才有效。 model_storage_directory (string, default = None) :模型存储位置。 download_enabled (bool, default = True):如果没有对应模型文件时,自动下载模型。 user_network_directory (bool, default = None) :用户自定义识别网络的路径。 recog_network (string, default = 'standard') :替代标准模型,使用自定义的识别网络。 detector (bool, default = True) :是否加载检测模型。 recognizer (bool, default = True) :是否加载识别模型。
代码示例
1、导入模块并识别图片
import easyocr import time reader = easyocr.Reader(['ch_sim', 'en'], gpu=False, model_storage_directory="model", download_enabled=True) # False为不使用GPU start_time = time.time() info = reader.readtext(image='./data/road-poetry.png') print('cpu need time', time.time() - start_time, 's') print(info) # [([[151, 101], [195, 101], [195, 149], [151, 149]], '西', 0.981630354704194), # ([[569, 71], [635, 71], [635, 131], [569, 131]], '东', 0.9986620851098884), # ([[218, 92], [535, 92], [535, 191], [218, 191]], '诗和远方路', 0.8088406067648788), # ([[137, 217], [177, 217], [177, 257], [137, 257]], 'W', 0.8304899668428476), # ([[209, 217], [525, 217], [525, 257], [209, 257]], 'Poetry And The Places Afar Rd。', 0.40033566345576044), # ([[571, 207], [611, 207], [611, 251], [571, 251]], 'C', 0.15532942943588068)]
2、存储识别结果
import pandas as pd df = pd.DataFrame(columns=['x1', 'y1', 'x2', 'y2', 'text', 'proba']) for i, item in enumerate(info): # 保留左上和右下坐标 ((x1, y1), _, (x2, y2), _), text, prob = item df.loc[i] = [x1, y1, x2, y2, text, prob] # 缓存结果,不重复识别 df.to_csv('./data/road-poetry.csv')
3、图片标记
import cv2 info = pd.read_csv('./data/road-poetry.csv', index_col=0) # 加载图片 img = cv2.imread('./data/road-poetry.png') for x1, y1, x2, y2, _, _ in info.values: # 画矩形 cv2.rectangle(img, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2) cv2.imwrite('./data/road-poetry-marked.png', img)
本文为 陈华 原创,欢迎转载,但请注明出处:http://edu.ichenhua.cn/read/301