Python中有一个不错的OCR库-EasyOCR,在GitHub已有9700star。它可以在python中调用,用来识别图像中的文字,并输出为文本。
安装包:
pip install eazyocr
错误问题:
ImportError: libX11.so.6: cannot open shared object file: No such file or directory
解决方法:
sudo yum install libX11
错误问题:
ImportError: libXext.so.6: cannot open shared object file: No such file or directory
解决办法:
sudo yum install libXext
识别代码:
# 导入easyocr
import easyocr
# 创建reader对象
reader = easyocr.Reader(['ch_sim','en'])
# 读取图像
result = reader.readtext('./企业微信截图_16104127148073.png')
# 结果
print(result)
for i in result:
word = i[1]
print(word)
GPU 服务器 运行 python test.py
检测部分使用了CRAFT算法,识别模型为CRNN,它由3个主要组件组成:特征提取,序列标记(LSTM)和解码(CTC)。整个深度学习过程基于Pytorch实现。
检测:CRAFT算法
识别:CNN+RNN+CTC
OCR 应用场景如下:
1.文档识别
工作或者科研学习中,要应对大量的纸质文件、书刊杂志、PDF格式的电子资料,很难对这些格式的资料进行编辑和整理
2.拍题识别
识别试卷,保存试卷中的文字并进行评测评分
3.反垃圾
计算机目前只能处理电子字符,不能直接理解图片上的字符,但经过OCR“翻译”后,计算机就能处理那些原本读不懂的信息。比如检测图片上的违禁字眼,由此开启反垃圾新技能
4.书摘笔记
读书时,看到不错的文章段落想要做书摘笔记,但又懒得去打字或是手抄整理
5.随手记录
在微信、微博等内容平台看到有价值的图片内容会随手保存Mark,或是用截屏把手机页面内容保存到相册,但这些图片信息散乱在手机各处,很难进行归纳、整理和检索
6.病历整理
医生每天需要整理大量的病历,如果使用OCR识别技术,拍图即可生成电子资料自动记录保存,节约时间
7.档案管理
档案管理员的工作有很多需要记录,如果单纯依赖打字上传确实是一项费时费力的工作
以上列举的都是生活中你可能会遇到的麻烦,但OCR所能实现的场景和可挖掘的功能远不止这些。医疗、海关、物流、金融、传统制造业等领域都能够通过OCR识别服务,为企业提供高效、低成本的数据采集方案,节省人工数据采集、构建信息系统和维护升级的成本,让企业更智能。