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

2023-05-16

现行方案:迅捷OCR软件

采用迅捷OCR文字识别软件,购买了一年的期限
在这里插入图片描述
操作需要使用pyautogui来操作软件进行操作,现在也可以使用USB鼠键模块KM3来真实模拟鼠标键盘的操作,可信度更高。

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


测试百度OCR


用用百度的文字识别试试
SDK下载链接:点击查看
每月赠送1000次,超出按量计费,收费标准,点击查看
在这里插入图片描述

如何安装应用??

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

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

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

BM操作:在PyCharm中的控制台中采用pip命令安装。
baidu-aip
安装完成,安装到了Anaconda3的bmpy37环境中
接下来开始测试,看看效果如何:
测试参考链接:点击查看

测试调用成功!
在这里插入图片描述
调用百度AI平台接口(有调用次数限制,通用50000次/天,学习完全够用) BM??? BM说这是19年的文章,现在应该是只有1000次/每月了
以前应该是这样:
在这里插入图片描述

这个类似于调用接口实现词法分析等操作,首先通过注册获得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
easyocr
测试代码:

# 导入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安装:成功!清华的镜像地址
    在这里插入图片描述
    在这里插入图片描述
    测试 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,结果失败!
在这里插入图片描述
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中继续安装,清华镜像的环境解析成功,现在在下载中:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

清华镜像,下载速度为何如此堪忧???
在这里插入图片描述
最后下载安装:有报错,输入安装命令之后和命令执行完之后,均有报错:
在这里插入图片描述在这里插入图片描述
算了,CUDA依旧还是不可用,以后采用CPU的安装方案,利用Conda或者Pip安装。
在这里插入图片描述

BM 总结:

运行起来识别效果是不错的,好像还可以离线识别,更强,还提供了位置,可信度。就是GPU不支持,运行速度有点慢,下图花费了4秒钟。复杂的花费了11s,很不错了。
识别结果


测试ocr.space


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 轻量型神经网络 shufflenet V1和shufflenet V2

    1 shufflenet V1 ShuffleNet是旷视科技 Face 43 43 提出的一种计算高效的CNN模型 xff0c 其和MobileNet和SqueezeNet等一样主要是想应用在移动端 所以 xff0c ShuffleNet
  • 详解C++中的const关键字

    1 const修饰指针 const修饰指针有三种情况 const修饰指针 常量指针 const修饰常量 指针常量 const即修饰指针 xff0c 又修饰常量 int main int a 61 10 int b 61 10 const修饰
  • CMake教程及使用案例

    1 CMake教程及使用案例 2 CMake Tutorial 3 https www cnblogs com crazyang p 14371953 html
  • gcc/g++编译选项&动态/静态库

    1 gcc g 43 43 编译选项 amp 动态 静态库
  • 外围设备对飞控的作用

    以下是我对外围设备的理解 xff08 如果理解有误 xff0c 请大佬们指正 xff09 桨叶 xff08 必须 xff09 xff1a 动力装置 电机 必须 xff1a 为无人机提供动力输出 电调ESC 必须 xff1a 电子调速器 控制
  • 飞控外围设备选型的注意事项

    合适的选型 xff08 如电机 43 桨叶 43 电池 xff09 可以兼顾无人机的航时和稳定性 xff0c 可将航时和稳定性发挥到极致 桨叶 xff1a 螺距和长度 桨叶的选择会影响无人机的航时和稳定性 xff0c 选的好航时和稳定性可以
  • STM32CubeMX学习笔记——FreeRTOS_任务创建与删除

    STM32CubeMX学习笔记 FreeRTOS 任务创建与删除 Github简介任务创建可视化创建方式代码创建方式 任务删除 Github https github com HaHaHaHaHaGe Planof2019 half tre
  • 关于串口发送的几个标志位

    首先了解STM32串口发送数据的简单过程 xff0c 如下图所示 发送 xff1a 软件将数据写到USARTx gt DR里面 xff0c 硬件自动把USARTx gt DR里面的数据并行转移到 发送移位寄存器 xff0c 然后硬件自动将发
  • TCP三步握手,以及相关问题

    三次握手是 TCP 连接的建立过程 在握手之前 xff0c 主动打开连接的客户端结束 CLOSE 阶段 xff0c 被动打开的服务器也结束 CLOSE 阶段 xff0c 并进入 LISTEN 阶段 随后进入三次握手阶段 xff1a 首先客户
  • HTTP digest认证

    HTTP的basic认证是通过明文来传输用户名和密码 xff0c 安全性不够 xff0c 因此HTTP又推出了摘要认证的方式来验证用户名和密码 流程和Basic认证差不多 1 浏览器访问服务端受保护的资源 xff0c 服务端返回401 同时
  • SLAM【十】回环检测

    SLAM 十 回环检测 回环检测的作用及意义作用意义 回环检测方法准确率和召回率词袋模型 字典字典的结构字典的创建相似度计算相似度评分的处理关键帧的处理检测之后的验证 参考 回环检测的作用及意义 作用 问题 xff1a 为了解决整个SLAM
  • ubuntu下切换默认python版本

    ubuntu下切换默认python版本 以 root 身份登录 xff0c 首先罗列出所有可用的python 替代版本信息如果出现以上所示的错误信息 xff0c 则表示 Python 的替代版本尚未被update alternatives
  • AVL分析飞机气动特性

    AVL xff0c 全称为Athena Vortex Lattice xff0c 是MIT的Mark Drela教授开发的一个气动分析程序 程序最初由Harold Youngren 1988年为MIT Athena TODOR航空软件集编写
  • ros_arduino_bridge+arduino+l298n控制编码电机(Arduino uno)

    踩了许多坑 xff0c 看了许多教程 xff0c 终于成功用ros arduino桥的方法实现了对电机的控制 xff0c 希望大家能通过我的教训少走一些弯路 注 xff1a 本教程的所有代码可以进入我主页下载 step1 ubuntu下安装
  • 典型TI LaunchPad 比较

    型号主芯片主频资源尺寸支持软件参考价格MSP EXP432P401R MSP432P401R 48MHz 256KB Flash 64KB RAM 32KB ROM 9 5cm 5 85cm Keil Energia CCS 199 EK
  • 关于反序列异常问题

    异常显示序列号不一致 xff0c 序列化和反序列化受serialVersionUID序列号控制 xff0c 异常原因 xff1a 对象序列化时忘了写显式序列号 xff0c 然后再反序列化才重写的序列号 xff0c 也就是 序列化和反序列化的
  • ros消息和服务error:The manifest (with format version 2) must not contain the following tags: run_depend

    在按ROS入门教程 xff08 点击打开链接 xff09 行进过程中到了执行 rosmsg show beginner tutorials Num 命令时 xff0c 出现提示 The manifest with format versio
  • 【Vue + ElementUI】el-progress 各类常用场景(自动计算percentage,format自定义显示文字)

    效果图 xff1a 1 当前数据结构 progressList planNum 150 计划数量 completeNum 80 完成数量 planNum 70 completeNum 70 planNum 70 completeNum 90
  • 音乐播放器的一些思路

  • Arduino笔记实验(初级阶段)—Keypad小键盘

    Arduino笔记实验 初级阶段 Keypad小键盘 文章目录 Arduino笔记实验 初级阶段 Keypad小键盘前言一 电路图二 集成库方案 Keypad 三方集成库代码实验效果展示 三 基于Arduino原生方案4 4按键膜结构图代码

随机推荐

  • Arduino笔记实验(初级阶段)—火焰传感器+有源蜂鸣器实验

    Arduino笔记实验 初级阶段 火焰传感器 43 有源蜂鸣器实验 文章目录 Arduino笔记实验 初级阶段 火焰传感器 43 有源蜂鸣器实验前言一 电路图二 火焰传感器 4引脚 有源蜂鸣器代码实验效果展示 三 火焰传感器火焰传感器模块示
  • Arduino笔记实验(初级阶段)—DHT11温湿度传感器

    Arduino笔记实验 初级阶段 DHT11温湿度传感器 文章目录 Arduino笔记实验 初级阶段 DHT11温湿度传感器前言一 电路图二 DHT11温湿度传感器实验代码实验效果展示 三 DHT11温湿度传感器实验总结 前言 自学笔记 x
  • C语言笔记-26-网络-UDP网络编程

    C语言笔记 26 网络 UDP网络编程 文章目录 C语言笔记 26 网络 UDP网络编程前言一 UDP编程模型概括三 UDP编程模型代码UDP服务端UDP客户端 总结 前言 自学笔记 xff0c 没有历史知识铺垫 xff08 省略百度部分
  • C++笔记-6-c++静态与单例

    C 43 43 笔记 6 c 43 43 静态与单例 文章目录 C 43 43 笔记 6 c 43 43 静态与单例前言一 静态静态成员变量静态成员函数 二 单例饿汉式懒汉式 总结 前言 自学笔记 xff0c 没有历史知识铺垫 xff08
  • C++笔记-4-c++类与继承

    C 43 43 笔记 4 c 43 43 类与继承 文章目录 C 43 43 笔记 4 c 43 43 类与继承前言一 类 Class 构造 析构函数拷贝构造和拷贝赋值 二 继承总结 前言 自学笔记 xff0c 没有历史知识铺垫 xff08
  • C++笔记-5-c++成员变量、函数指针

    C 43 43 笔记 5 c 43 43 成员变量 函数指针 文章目录 C 43 43 笔记 5 c 43 43 成员变量 函数指针前言一 成员变量指针二 成员函数指针总结 前言 自学笔记 xff0c 没有历史知识铺垫 xff08 省略百度
  • Qt实现的计算器

    写在前边 xff1a 这篇文章只是来带着大家一起实现一个基于Qt的计算器 中间会出现很多概念 xff0c 我们不做拓展介绍 xff0c 大家只要知道怎么用就好 xff0c 如果有需要我们后续再详细的对每个模块解析 1 首先介绍一下Qt xf
  • 【vue-element-admin笔记】

    vue element admin项目 xff08 1 xff09 一 使用步骤1 引入库2 出现问题 总结 一 使用步骤 1 引入库 代码如下 xff08 示例 xff09 xff1a git clone https span class
  • 无人机从零到一(组装、校准到起飞)

    一 组装 xff08 螺旋桨可以最后装 xff09 机械结构配置 xff1a 名称型号飞控Pixhawk 2 4 8 xff08 带安全开关 xff0c 蜂鸣器 xff0c 还买了减震板 xff09 螺旋桨8045 ABS xff08 33
  • C++11的多线程线程参数传递,指针与引用

    void foo std this thread sleep for std chrono seconds 1 int main std thread t std cout lt lt 34 before starting joinable
  • 学习(二):I2C、SPI、UART、CAN的特点与区别

    官网教程链接 xff1a https ardupilot org dev docs code overview sensor drivers html I2C 一个主机 xff0c 允许多个从机一种相对简单的通信协议 xff0c 适合短距离
  • C++ Qt 两字节相加(和)的校验位

    函数名称 xff1a checkSum 函数功能 xff1a 校验位 帧头 43 数据段按2字节累加和 若数据段个数为奇数 xff0c 则累加和时在数据段后方补1个字节0x00 函数参数 xff1a QByteArray 帧头 43 数据段
  • 考研复习C++基础问答题(六)

    1 C 43 43 中存储类有哪些 xff1f 存储类定义 C 43 43 程序中变量 函数的范围 xff08 可见性 xff09 和生命周期 这些说明符放置在它们所修饰的类型之前 下面列出 C 43 43 程序中可用的存储类 xff1a
  • STM32CubeMX编辑规范(02)

    STM32CubeMX编辑规范 目录 STM32CubeMX编辑规范前言一 代码编写范围二 项目结构三 单独外设配置四 代码生成设置五 高级设置 前言 采用STM32CubeMX的编辑规范可以更好的在不同的芯片上移植 xff0c 修改外设可
  • 机器人局部避障的动态窗口法DWA (dynamic window approach)-matlab代码修改及动态障碍物避障效果

    具体效果视频 xff1a DWA动态障碍物 哔哩哔哩 https b23 tv pQp6ne 一 源码及问题 最初的源码链接https blog csdn net heyijia0327 article details 44983551 改
  • QQ可以用十六进制登录哦

    又到装逼 时刻了 平常人登QQ是这样的 xff1a 如果我告诉你 xff1a 还可以这样登录 xff0c 你信吗 xff1f 显然我成功了 xff0c 你呢 xff1f 想知道如何快速把QQ号转换为十六进制吗 xff1f 评论里告诉你 xf
  • Keil C51详细安装教程(最新版)

    Keil C51 0x00 说在前面0x01 资源获取0x02 软件安装0x03 还有一步 xff08 重要 xff09 0x04 小问题 0x00 说在前面 x1f4e2 Keil 5常用的分两个版本 xff0c C51和MDK C51用
  • Java学习之JavaWeb篇

    图床路径 Kuang JavaWeb Java Web 1 基本概念 web开发 web xff0c 网页的意思 xff0c www baidu com静态web html xff0c css提供给所有人看的数据 xff0c 始终不会变化
  • Typora自动上传图片到Gitee图床

    Typora自动上传图片到Gitee图床 序言 思路 Gitee作为免费的图床 xff0c Typora作为最好用的blog博客笔记软件 xff0c 通过PicGo软件配置将Typora中的图片自动保存到Gitee图床 xff0c 获得云端
  • 关于百度OCR和EasyOCR的研究记录

    现行方案 xff1a 迅捷OCR软件 采用迅捷OCR文字识别软件 xff0c 购买了一年的期限 操作需要使用pyautogui来操作软件进行操作 xff0c 现在也可以使用USB鼠键模块KM3来真实模拟鼠标键盘的操作 xff0c 可信度更高