热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

有哪些图片转文字的OCR软件值得分享

本文主要介绍关于的知识点,对【OCR开源代码库介绍】和【有哪些图片转文字的OCR软件值得分享】有兴趣的朋友可以看下由【海清河宴】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的深度学习相关技术问题

本文主要介绍关于的知识点,对【OCR开源代码库介绍】和【有哪些图片转文字的OCR软件值得分享】有兴趣的朋友可以看下由【海清河宴】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的深度学习相关技术问题。

有哪些图片转文字的OCR软件值得分享

OCR开源代码库介绍 简介tesseract-ocrEasyOCRchineseocr_litePaddleOCRMMOCRSTR

简介

文字的发明是人类文明史上的重要进步,它改变了人类知识的存储方式和传播方式。文字于日常生活中无处不在,比如马路上的标志牌,商店的招聘,商品的包装盒等。办公自动化、工业自动化等应用场景迫切需要一套直接从图像中检测,识别并理解文字的工具。
典型的OCR系统,按照流程分为两大支:

先检测后识别(detection then recognition);端到端识别(end to end text spotting); tesseract-ocr

Tesseract是一个由HP公司开发(后由Google接手)的开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持多种语言(包括中文)

该库有C++语言编写,可编译为一个库,有C++接口与python接口;底层OCR引擎本身使用LSTM网络(RNN)当前景文本与背景有非常清晰的分割时,Tesseract效果最好,对于比如有干扰线的简单验证码,会识别不好。此外,这些分割需要尽可能高的分辨率,并且输入图像中的字符在分割后不能出现“像素化”。如果字符表现出像素化,那么Tesseract很难正确识别文本——我们甚至在应用理想条件下拍摄的图像时也发现了这一点(一个PDF截图)。对于安装好的tesseract库,具体运行方式:
./tesseract ./input.jpg ./result -l eng --psm 4 --oem 0
训练tesseract词库:
需要下载jTessBoxEditor,可以直接从官网下载压缩包,下载地址Browse。解压后,可直接使用。但是这个工具是用java开发的,需要jre7以上的版本支持。此外, jTessBoxEditor解压包中自带了一个tesseract-ocr文件包。我们需要使用第二步中自己安装tesseract-ocr生成的文件覆盖掉jTessBoxEditor\tesseract-ocr\中的文件。tesseract库方便移植到ARM平台tesseract库只有字符识别功能,没有检测功能 EasyOCR

EasyOCR是一个用 Python 编写的 OCR 库,该 OCR 库使用深度神经网络构建而成:CNN+LSTM+CTC loss,包含三个解码器可选项:贪心搜索、束搜索和词束搜索(word-beam search),支持超过80种语言的识别,包括英语、中文(简繁)、阿拉伯文、日文等,并且该库在不断更新中,未来会支持更多的语言。

与标准的开源 OCR 工具 Tesseract 相比,Easy OCR 的准确率更高,不过速度稍慢EasyOCR的优势在于多语言支持,非常适合有小语种需求的开发者模型较大不适合端侧部署不支持自定义训练,不过可以参考该库 https://github.com/clovaai/deep-text-recognition-benchmark 进行模型重训练。整理算法的检测部分基于 CRAFT 算法预训练得到,识别部分则基于作者自有数据集训练得到。CRAFT是一个字符级别的文本检测网络,使用分水岭算法生成 label,采用 heatmap 得到激活值最大的目标区域。 chineseocr_lite

chineseocr_lite 是基于chineseocr的改进(chineseocr基于 YOLO V3 与 CRNN 实现中文自然场景文字检测及识别),相比 chineseocr,它采用了轻量级的主干网络 PSENet,轻量级的 CRNN 模型和行文本方向分类网络 AngleNe,它支持竖排文字识别,支持 ncnn 推理,psenet (8.5M) + crnn (6.3M) + anglenet (1.5M) 总模型仅 17M。此外,该项目支持linux/macos/windows 平台。

提供轻量的backone检测模型psenet(8.5M),crnn_lstm_lite(9.5M) 和行文本方向分类网络(1.5M) 任意方向文字检测,在识别时会自动判断行文本方向 crnn\crnn_lite lstm\dense识别(ocr-dense和ocr-lstm是搬运chineseocr的) 支持竖排文本识别 ncnn 实现 (支持lstm) nihui大佬实现的crnn_lstm推理 具体操作详解: 详细记录超轻量中文OCR LSTM模型ncnn实现 提供竖排文字样例以及字体库(旋转90度的字体) PaddleOCR

PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。

轻量中英文OCR模型是经过产业实践考验的语种识别上PaddleOCR目前包括中英文、英文、法语、德语、韩语、日语等对于普通场景来说,比如身份证识别、票据识别,其实大多数算法的准确率都不错,但特殊场景更考验模型的泛化性能。相较而言PaddleOCR至少在检测能力上比其他几个开源工具要好,但识别能力仍有待提升无论是对文档图像还是场景图像,PaddleOCR都有不俗的表现提供标注工具整体算法主要分文本检测、检测包围框校正和文本识别三部分与其他开源库的对比: 语种与训练模型大小端侧部署自定义训练chineseocr_lite中英文10M是不支持EasyOCR多语言218M否不支持PaddleOCR多语言轻量:8.6M 通用:203M是支持 MMOCR

MMOCR 具有以下特点:

全流程:支持文字检测、文字识别以及其下游任务,比如关键信息提取等。多模型:我们实现了 10 余种优秀算法。文字检测算法包括单阶段检测算法和双阶段检测算法;文字识别包含规则文字识别和非规则文字识别算法;关键信息提取包含基于图模型的关键信息提取算法。只支持英文字符识别

对于文字检测,MMOCR 实现了最新的优秀的文字检测算法,同时支持多方向文字和任意形状文字的检测。它们包括:

单阶段文字检测算法:PANet,PSENet,DBNet,TextSnake双阶段文字检测算法:MaskRCNN

对于文字识别,MMOCR 不但实现了经典的 CRNN算法,也实现了最近的基于 encoder-decoder 和 2d attention的 SAR 算法,增加位置增强模块的 RobustScanner , 基于 Transformer 的算法,以及实现了基于分割网络的文字识别基准算法。基于 CTC loss 的 CRNN,支持规则文字的识别, 速度快, 广泛应用于工业界。基于 Transformer 或者分割网络的识别模型,以及基于注意力机制的 SAR 和 RobustScanner, 在非规则文字识别方向具有显着优势。

关键信息提取是图像文字识别一个常见和重要的下游任务。文字识别只能给出一个文字框对应的识别字符串,然而实际应用场景往往需要结构化的文字输出。比如针对小票图片,我们需要提取消费的地点,时间,店名,商品明细,以及消费金额等。传统的关键信息提取算法,基于模板匹配算法,具有不鲁棒、每种版式需要定制研发的缺点。MMOCR 实现了最近提出的基于图神经网络的通用关键信息提取算法SDMG-R。它利用了文字框空间位置关系,图片视觉信息,文字的语义信息,通过深度学习网络,端到端地实现了关键信息提取任务。

STR

STR(Scene Text Recognition)的任务是识别文字框中的内容,Vedastr是基于PyTorch的场景文本识别工具箱。

本文《OCR开源代码库介绍》版权归海清河宴所有,引用OCR开源代码库介绍需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • steam,2,7,2,已经,发布 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • WebDAV之葫芦儿·派盘+天悦日记
    天悦日记支持webdav方式连接葫芦儿派盘。是一款清爽简约的日记记录工具,通过天悦日记app随时随地快速写日记,更有智能数据统计分析报表,多端同步多种备份,本地备份和基于Web ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • SLAM优秀开源工程最全汇总
    https:zhuanlan.zhihu.comp145750808 1、CartographerCartographer是一个系统,可跨多个平台和传感器配置以2D和3D形式提供实 ... [详细]
  • ZOC7 for Mac 7.25.6 好用的终端仿真器
    zoc7mac破解版是一个专业的SSH和Telnet客户端和终端模拟软件,以出色的配置和用户界面而闻名。凭借其令人印象深刻的仿真和功能,通过使用选项卡式会话,键入命令历史记录,回滚 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Command-X:剪切所选项并拷贝到剪贴板。Command-C:将所选项拷贝到剪贴板。Command-V:将剪贴板的内容粘贴到当前文稿或应用中。Command-Z:撤 ... [详细]
author-avatar
hedongsheng
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有