Hi!大家好呀!我是你们努力的喵哥!

OCR(光学字符识别)是我们日常很常用的人工智能技术。我们总会有从图片中提取文字的需求。你是不是有需要从图片复制文字的经历?手打是最低效的选择。我们可以使用 OCR 软件,直接将图片上的符号转化为对应的文字。

那么,这里喵哥就要给大家推荐一个开源项目 EasyOCR。EasyOCR 并不是可以直接使用的软件(虽然它有一个演示网站),而是一个超级易于使用的 OCR 开源工具库。三行代码,就可以实现一个 OCR 功能。EasyOCR 支持40多种语言,包括英文,中文,日文,韩文和泰文等。

如果你只是想简简单单的使用 OCR 工具。喵哥还是推荐你,使用国内比较成熟的商业项目。这些商业项目,还能完整的贴合你的使用场景。比如,扫描全能王就非常好用。其识别的准确度、速度都无可挑剔。之外,喵哥还要推荐另一款 OCR 软件白描。除了识别准确度和速度外,白描更是一款 UI 异常精致的产品。

EasyOCR 是基于人工智能实现的文字识别。图片检测部分是使用的是开源项目 CRAFT-pytorch 及其论文中的 CRAFT算法。识别模型为 CRNN。CRNN 由3个主要组成部分组成:特征提取、序列标记和解码。

安装

安装使用pip以获得稳定的版本。

pip install easyocr

对于最新的开发版本。

pip install git+git://github.com/jaidedai/easyocr.git

注意:对于Windows,请先按照https://pytorch.org上的官方说明安装Torch和Torchvision。

使用

import easyocrreader = easyocr.Reader(['ch_sim','en'])reader.readtext('chinese.jpg')

输出将采用列表格式,每个项目分别表示边界框,文本和置信度。

[([[[ 189,75 ],[ 469,75 ],[ 469,165 ],[ 189,165 ]],'愚园路',0.3754989504814148), ([[ 86,80 ],[ 134,80 ],[ 134,128 ],[ 86,128 ]],'西',0.40452659130096436), ([[[ 517,81 ],[ 565,81 ],[ 565,123 ],[ 517,123 ]],'东',0.9989598989486694), ([[[ 78,126 ],[ 136,126 ],[ 136,156 ],[ 78,156 ]],' 315 ',0.8125889301300049), ([[[ 514,126 ],[ 574,126 ],[ 574,156 ],[ 514,156 ]],' 309 ',0.4971577227115631), ([[[ 226,170 ],[ 414、170 ],[ 414、220 ],[ 226、220 ]],“豫园路”,0.8261902332305908), ([[[ 79,173 ],[125,173],[ 125,213 ],[ 79,213 ]],' W ',0.9848111271858215), ([[[ 529,173 ],[ 569,173 ],[ 569,213 ],[ 529,213 ]],' E ',0.8405593633651733)]

注意1:['ch_sim','en']是您要阅读的语言列表。您可以一次传递几种语言,但并非所有语言都可以一起使用。英语与每种语言兼容。共享公共字符的语言通常相互兼容。

注意2:除了filepath chinese.jpg,您还可以将OpenCV图像对象(numpy数组)或图像文件作为字节传递。原始图像的URL也可以接受。

您也可以将detail= 0 设置为更简单的输出。

reader.readtext('chinese.jpg', detail = 0)

结果:

[ '愚园路','西','东',' 315 ',' 309 ','豫园路。',' W ',' E ' ]

所选语言的型号权重将自动下载,或者您可以从以下链接手动下载并将其放在'〜/ .EasyOCR / model'文件夹中。

如果您没有GPU或GPU的内存不足,则可以通过添加gpu = False在CPU模式下运行它。

reader = easyocr.Reader(['th','en'], gpu = False)

详细的说明,可以参考官方文档。

在命令行上运行

$ easyocr -l ch_sim zh -f chinese.jpg --detail = 1 --gpu = True

最后

EasyOCR 目前支持以下48种语言。

南非语(af),阿塞拜疆语(az),波斯尼亚语(bs),简体中文(ch_sim),繁体中文(ch_tra),捷克语(cs),威尔士语(cy),丹麦语(da),德语(de),英语(en) ),西班牙语(es),爱沙尼亚语(et),法语(fr),爱尔兰语(ga),印地语(hi),克罗地亚语(hr),匈牙利语(hu),印度尼西亚语(id),冰岛语(is),意大利语(it ),日语(ja),韩语(ko),库尔德语(ku),拉丁语(la),立陶宛语(lt),拉脱维亚语(lv),毛利人(mi),马拉地语(mr),马来语(ms),马耳他语(mt ),尼泊尔文(ne),荷兰文(nl),挪威文(no),奥克西唐(oc),波兰文(pl),葡萄牙文(pt),罗马尼亚文(ro),塞尔维亚文(latin)(rs_latin),斯洛伐克文(sk)(需要重新访问),斯洛文尼亚语(sl),阿尔巴尼亚语(sq),瑞典语(sv),斯瓦希里语(sw),泰语(th),他加禄语(tl),土耳其语(tr),乌兹别克(uz),越南语(vi)(需要再次访问)

字符列表位于项目文件夹 easyocr / character中 。

EasyOCR项目制定了一个大概的路线图。

第一阶段(现在-2020年10月)

1. 语言包:印地语,阿拉伯语,西里尔字母等。旨在覆盖全球80%至90%以上的人口。同时改善现有语言。

2. 更好的文档和API。

3. 语言模型可实现更好的解码。

第二阶段(2020年10月之后)

1. 手写支持:网络体系结构应该无关紧要。关键是使用GAN生成逼真的手写数据集。

2. 更快的处理时间:模型修剪(精简版)/量化/导出到其他平台(ONNX?)。

3. 开放数据集和模型训练管道。

4. 重组代码以支持可交换的检测和识别算法。API应该类似如下。

reader = easyocr.Reader(['en'], detection='DB', recognition = 'ReXNet_LSTM_Attention')

EasyOCR 项目的作者是组织 aided AI 。aided AI 的宗旨是给世界展示 AI 的价值。EasyOCR 共有50位贡献者,在 Github 共收获了6.5k Star。

项目地址:https://github.com/JaidedAI/EasyOCR

attention 文字识别算法_支持40种语言的图片文字识别(OCR)项目相关推荐

  1. python图片转文字easyocr_支持40种语言的图片文字识别(OCR)项目

    Hi!大家好呀!我是你们努力的喵哥! OCR(光学字符识别)是我们日常很常用的人工智能技术.我们总会有从图片中提取文字的需求.你是不是有需要从图片复制文字的经历?手打是最低效的选择.我们可以使用 OC ...

  2. 人工智能Java SDK:图像文本的跨模态相似性比对检索【支持40种语言】

    图像&文本的跨模态相似性比对检索 SDK[支持40种语言] 背景介绍 OpenAI 发布了两个新的神经网络:CLIP 和 DALL·E.它们将 NLP(自然语言识别)与 图像识别结合在一起, ...

  3. 【最强最全车牌识别算法】支持13种中文车牌识别的云端API部署(可直接获取源码使用)

    项目简介 在城市交通管理.视频监控.车辆识别和停车场管理中车辆检测与车牌识别是一项富有挑战而重要的任务.利用深度学习识别不同条件下的车辆及其车牌信息.更具体地说,实时目标检测网络(Yolov5)用于从 ...

  4. VS Code 神器插件:代码一键运行,支持超过 40 种语言!

    程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_source= csdn_bw 记得两年多前,笔者那时还在写 PHP,同时需要写 Python 和 No ...

  5. 苹果键盘怎么手写_支持9种外语语音识别,新增4款外语键盘,搜狗输入法10.8版本上线丨18周新闻...

    搜狗AI合成主播雅妮 为您带来搜狗本周新闻播报 新 闻 原 文 .01. 搜狗输入法率先适配新款iPhone SE 4月24日,搜狗输入法发布适配新款iPhoneSE #AI智慧输入#,以AI输入引擎 ...

  6. iText 新年新版:截图识别文字后,翻译为 100+ 种语言

    iText 是一款从图片中识别文字的工具,解决了诸如扫描版 PDF 无法复制等问题.在保持简洁的同时,我也在不断 改进 iText 的功能和便利性.新年第一版,来看看有哪些变化吧. 识别文字后自动翻译 ...

  7. Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言

    记得三年多前,韩老师那时还在写 PHP(是的,没错!在微软写 PHP),同时需要写 Python 和 Node.js .所以在那时,支持多种语言的 VS Code 已经是笔者的主力编辑器了.唯一不足的 ...

  8. 最佳 开源 人脸识别算法_开源项目的最佳社会结构是什么?

    最佳 开源 人脸识别算法 代码审查是一种实践,可促进开源项目中的快速协作,知识共享和最高质量. 代码审查的社会结构是项目的定义特征. 开源项目的最佳社会结构是什么? 在本文中,我们通过分析三个常见模型 ...

  9. 有道智云智能语音服务全面升级 最多可支持44种语言和方言

    原标题:有道智云智能语音服务全面升级 最多可支持44种语言和方言 有道智云·AI开放平台智能语音服务全面升级,支持40多个小语种的语音识别.及翻译!现在开通注册即送50元体验金免费体验!戳一下了解详情 ...

最新文章

  1. android studio 通过界面快速查看md5
  2. 怎么解决svn清理失败且路径显示乱码问题
  3. iOS并发编程指南之同步
  4. 使用ServletContextListener关闭Redisson连接
  5. godaddy又支持支付宝支付了。今天backorder了一个域名,尝试用支付宝支付。居然可以支付了。当时的汇率结算。...
  6. 快速配置无线模块连入家庭Wifi
  7. 计算机系统如何禁止删除文件,如何彻底删除文件防止恢复【详细介绍】
  8. 如何将c语言程序变成应用,C语言代码转换为应用程序
  9. LeCo-83.删除排序链表中的重复元素
  10. 基于觅食生境选择的改进粒子群算法-附代码
  11. 前端基础知识概述 -- 移动端开发的屏幕、图像、字体与布局的兼容适配
  12. python pdf书籍领取
  13. Scrapy爬取P2P新闻入门教程
  14. Python和Java二选一该学啥?
  15. MCU学习笔记_STA及PT工具
  16. 优启通系统U盘制作及Win10系统安装
  17. 中南大学计算机组成原理,中南大学计算机组成原理作业答案
  18. 港澳台手机号校验(正则表达式)
  19. FileZilla设置个人文件夹
  20. 【大牛系列教学】java在线答题系统

热门文章

  1. 自动阅读教程--五条app
  2. 避免让WPF资源字典变得杂乱臃肿
  3. 开启mybatis属性使用驼峰的命名
  4. 计算机通过网口连接网络,使电脑连接网络的方法
  5. 超融合一体机分布式存储
  6. R语言用WinBUGS 软件对学术能力测验(SAT)建立层次(分层)贝叶斯模型
  7. 【PPic】项目中重要第三方组件集成打包测试
  8. react项目中使用sass
  9. 键盘录入 写入文件 quit时 结束
  10. html 实时曲线 js,基于d3.js实现实时刷新的折线图