EasyOCR
一款好用的OCR,支持80多种语言和所有流行的书写脚本,包括拉丁语、汉语、阿拉伯语、德瓦纳加里语、西里尔语等。
OCR
(Optical Character Recognition
,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
一般OCR
的过程如下:
一般来说,如果在用上概率公式的话,那准确率会更高点。
EasyOCR
使用的是机器学习的方式,使用的机器学习库为torch
。
通过包安装,最新稳定版本:
pip install easyocr
安装最新的开发版本:
pip install git+https://github.com/JaidedAI/EasyOCR.git
注意,这里是在ubuntu
下安装,windows
的版本,安装起来会比较费劲,这里就不做介绍。
安装完成以后,还需要下载,相关的模型 数据:
假设我们要识别的文字如下:
import easyocr
reader = easyocr.Reader(['ch_sim','en']) # this needs to run only once to load the model into memory
result = reader.readtext('chinese.jpg')
print(result )
得出如下的结果:
[([[5, 5], [229, 5], [229, 25], [5, 25]], '[总投7.9亿元!东部垃圾焚浇发电[', 0.08669103035451338), ([[237, 5], [386, 5], [386, 25], [237, 25]], '(三期) 项目敢得新迸展', 0.08111882257673593), ([[395, 5], [536, 5], [536, 25], [395, 25]], '土建己基本完成] - ', 0.08647737115445017), ([[0, 29], [71, 29], [71, 49], [0, 49]], '门9报消意', 0.10136334145616752), ([[81, 29], [115, 29], [115, 49], [81, 49]], '近3', 0.9139336481750041), ([[123, 29], [339, 29], [339, 49], [123, 49]], '作为市政集匦重要民生保障设施之-', 0.12565472718039977), ([[347, 29], [519, 29], [519, 49], [347, 49]], '的东部生活垃圾焚烧发宅厂', 0.099161272827686), ([[0, 53], [149, 53], [149, 73], [0, 73]], '期)项目土建己基本完成', 0.0729209855661902), ([[157, 53], [345, 53], [345, 73], [157, 73]], '施工己全面转入设备安装阶段_', 0.13883050145003392), ([[0, 101], [377, 101], [377, 121], [0, 121]], '东部垃圾焚烧发宅厂(三期)项目位于厦门东部巨云飞生态园内', 0.011565073474962767), ([[385, 101], [489, 101], [489, 121], [385, 121]], '是省市重点工程', 0.3230764058066195)]
通过结果的分析可以发现,EasyOCR
还给了我们格外的信息,就是位置信息了。
通过下面的程序,把文字的区域画出来。
#!/usr/bin/env python
# encoding: utf-8
import easyocr
import cv2
reader = easyocr.Reader(['ch_sim','en'])
img = cv2.imread('4f70c06988d732947b62c18501a876a8.jpeg' )
result = reader.readtext(img)
color=(0,0,0)
for res in result:
print(res[1])
for p in [(0,1),(1,2),(2,3),(3,0)]:
#print(res[0][p[0]])
#print(res[0][p[1]])
cv2.line(img,res[0][p[0]],res[0][p[1]],(0,0,255),1)
cv2.imwrite('4f70c06988d732947b62c18501a876a8-1.jpeg',img)
结果如下:
我们如此
热爱杭州
A new look of Hangzhou