关于百度OCR和EasyOCR的研究记录

现行方案:迅捷OCR软件

采用迅捷OCR文字识别软件,购买了一年的期限
关于百度OCR和EasyOCR的研究记录_第1张图片
操作需要使用pyautogui来操作软件进行操作,现在也可以使用USB鼠键模块KM3来真实模拟鼠标键盘的操作,可信度更高。

思考,有没有不依赖于软件,依赖于代码的图片文字识别操作???


测试百度OCR


用用百度的文字识别试试
SDK下载链接:点击查看
每月赠送1000次,超出按量计费,收费标准,点击查看
关于百度OCR和EasyOCR的研究记录_第2张图片

如何安装应用??

百度官方详细的操作文档!!!点击查看

支持Python版本:2.7.+ ,3.+

  1. SDK下载安装(命令:python setup.py install)
  2. pip安装(命令:pip install baidu-aip)

BM操作:在PyCharm中的控制台中采用pip命令安装。
关于百度OCR和EasyOCR的研究记录_第3张图片
安装完成,安装到了Anaconda3的bmpy37环境中
接下来开始测试,看看效果如何:
测试参考链接:点击查看

测试调用成功!
关于百度OCR和EasyOCR的研究记录_第4张图片
调用百度AI平台接口(有调用次数限制,通用50000次/天,学习完全够用) BM??? BM说这是19年的文章,现在应该是只有1000次/每月了
以前应该是这样:
关于百度OCR和EasyOCR的研究记录_第5张图片

这个类似于调用接口实现词法分析等操作,首先通过注册获得APP_ID、API_KEY、SECRET_KEY,然后调用接口实现OCR。由于是在线API,如果图片体积比较大,涉及到上传数据、分析数据、返回数据等一系列操作,需要一定的时间。此外,因为返回的是 dict 类型数据,所以需要对结果进行处理(这套算法是按行识别文字的,准确率较高,基本可以直接将结果进行提取和拼接)。实现起来比较简单,

其他OCR

1、ocr.space

还有一个网站可以调用:http://ocr.space/OCRAPI
ocr.space免费版每个月限制25000次请求,每天限制500次,如果个人或者团队内小范围使用,这个数量是可以满足的。BM说足够了,哈哈哈哈

2、PaddleHub

基于百度PaddleOCR图片批量文字识别,离线版

3、 关于EasyOCR 重要*

文章链接:

  1. 轻松识别图像,这款Python OCR库支持超过80种语言 - 知乎
  2. EasyOCR 主页- zh-CN
  3. 开源地址:点击查看

Python中有一个不错的OCR库-EasyOCR,在GitHub已有9700star。它可以在python中调用,用来识别图像中的文字,并输出为文本。

该开源库是作者研究了几篇论文,复现出来的成果,真是一位实干家。
检测部分使用了CRAFT算法,识别模型为CRNN,它由3个主要组件组成:特征提取,序列标记(LSTM)和解码(CTC)。整个深度学习过程基于Pytorch实现。
作者一直在完善EasyOCR,后续计划一方面扩展支持更多的语言,争取覆盖全球80%~90%的人口;另一方面支持手写识别,并提高处理速度。


测试 easyocr


重点研究对象!!!
2021-10-19 操作记录
安装一下:命令:pip install easyocr
关于百度OCR和EasyOCR的研究记录_第6张图片
测试代码:

# 导入easyocr
import easyocr
# 创建reader对象
reader = easyocr.Reader(['ch_sim','en']) 
# 读取图像
result = reader.readtext('test.jpg')
# 结果
result

出错详情;

D:\BM-Softwares\Anaconda3\envs\bmpy37\python.exe D:/BM-Chauncey/Desktop/XXQG/testEasyOcr.py

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. 
     That is dangerous, since it can degrade performance or cause incorrect results. 
     The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, 
     e.g. by avoiding static linking of the OpenMP runtime in any library. 
     As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, 
     but that may cause crashes or silently produce incorrect results. 
     For more information, please see http://www.intel.com/software/products/support/.

BM思考: 是不是没有安装 pytorch???

Note 1: For Windows, please install torch and torchvision first by following the official instructions here https://pytorch.org. On the pytorch website, be sure to select the right CUDA version you have. If you intend to run on CPU mode only, select CUDA = None.
Note 2: We also provide a Dockerfile here.

参考文章:
EasyOCR安装与简要效果测试_fatesunlove的博客-CSDN博客_easyocr

EasyOCR对于文字(无论英文还是中文)的识别准确率很高,但是对于标点符号与特殊符号的识别准确率很低。此外,该三方库对硬件设备的要求很高,官方推荐支持CUDA的独立显卡可以提高运行效率。随着图片的增大,运行时间呈指数增长。

BM说:在设置管理器里面找到显卡为:Intel® Iris® Xe Graphics 锐炬 Xe 显卡 百度之后,不太清楚,可能支持。 最后查证,只有英伟达的显卡支持,锐炬 Xe 显卡,不支持的可能性大

安装 torch :点击查看教程

  • pip安装命令:pip3 install torch==1.9.1+cu102 torchvision==0.10.1+cu102 torchaudio===0.9.1 -f https://download.pytorch.org/whl/torch_stable.html 失败,网络错误!

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘download.pytorch.org’, port=443): Read timed out.

  • 源码安装:https://github.com/pytorch/pytorch#from-source 未使用
  • Pycharm安装:成功!清华的镜像地址
    关于百度OCR和EasyOCR的研究记录_第7张图片
    关于百度OCR和EasyOCR的研究记录_第8张图片
    测试 torch 的代码:测试成功!
import torch
x = torch.rand(5, 3)
print(x)

继续 easyocr 测试代码,报错:(设置了 gpu=True)

CUDA not available - defaulting to CPU. Note: This module is much faster with a GPU.
Downloading detection model, please wait. This may take several minutes depending upon your network connection.
CUDA不可用-默认为CPU。注意:使用GPU时,此模块的速度要快得多。
正在下载检测模型,请稍候。这可能需要几分钟,具体取决于您的网络连接。

CUDA不可用,测试设置 gpu=False

Using CPU. Note: This module is much faster with a GPU.
Downloading recognition model, please wait. This may take several minutes depending upon your network connection.
使用CPU。注意:使用GPU时,此模块的速度要快得多。
正在下载识别模型,请稍候。这可能需要几分钟,具体取决于您的网络连接。
BM说:有报错,但是也有结果!思考:为啥子CUDA不可用???显卡不支持???
A.重大事项请示报告
B.提出意见建议
C.监督推动党委(党组)决策落

BM说:测试似乎离线也是可以的???

BM说:准备采用源码安装再次用GPU测试,命令:python setup.py install 采用 Anaconda 环境 bmpy37,结果失败!
关于百度OCR和EasyOCR的研究记录_第9张图片
BM说:测试CUDA的代码:

Additionally, to check if your GPU driver and CUDA is enabled and accessible by PyTorch, run the following commands to return whether or not the CUDA driver is enabled:
此外,要检查您的GPU驱动程序和CUDA是否已启用并可由PyTorch访问,请运行以下命令以返回CUDA驱动程序是否已启用:

import torch
torch.cuda.is_available()

返回False,哈哈哈


BM在这个配置下,在Anaconda的prompt中继续安装,清华镜像的环境解析成功,现在在下载中:
关于百度OCR和EasyOCR的研究记录_第10张图片

关于百度OCR和EasyOCR的研究记录_第11张图片
关于百度OCR和EasyOCR的研究记录_第12张图片

清华镜像,下载速度为何如此堪忧???
关于百度OCR和EasyOCR的研究记录_第13张图片
最后下载安装:有报错,输入安装命令之后和命令执行完之后,均有报错:
关于百度OCR和EasyOCR的研究记录_第14张图片关于百度OCR和EasyOCR的研究记录_第15张图片
算了,CUDA依旧还是不可用,以后采用CPU的安装方案,利用Conda或者Pip安装。
关于百度OCR和EasyOCR的研究记录_第16张图片

BM 总结:

运行起来识别效果是不错的,好像还可以离线识别,更强,还提供了位置,可信度。就是GPU不支持,运行速度有点慢,下图花费了4秒钟。复杂的花费了11s,很不错了。
关于百度OCR和EasyOCR的研究记录_第17张图片


测试ocr.space


官网:点击直达
注册一个免费的账号,一天500次免费调用限制,BM账号:184com,
无法注册,明天换网处理。

你可能感兴趣的:(python,ocr,easyocr,百度OCR)