R+OCR︱借助tesseract包实现图片文本提取功能
2016年11月,Jeroen Ooms在CRAN发布了tesseract包,实现了R语言对简单图片的文本提取、分析功能。
利用开源OCR引擎进行图片处理,目前可以识别超过100种语言,R语言可以借助tesseract调用OCR引擎进行相应操作。
从图像中提取文本时,需要提前安装训练数据(地址:https://github.com/tesseract-ocr/tessdata),系统默认为英语训练数据。在使用过程中,最好使用高对比度、低噪声、水平格式文本的图片。
转载于公众号R语言中文社区
一.核心函数介绍
ocr(image, engine = tesseract("eng"))
tesseract(language = NULL, datapath = NULL, options = NULL,cache = TRUE)
参数:
image 图片文件路径,支持png、tiff、jpeg等格式
engine tesseract引擎,通过函数tesseract()来创建
language 训练数据的语言字符简写,默认为英语(eng)
datapath 训练数据的路径,模型为系统库
options tesseract引擎的相关参数,默认为NULL,可查看文档
cache 可以使用训练数据的缓存版本,默认为TRUE
3.tesseract_download(lang, datapath = NULL, progress = TRUE) #下载训练数据
4.tesseract_info() #查看训练数据路径、可使用数据的语言格式、当前版本
参数:
lang 训练数据的语言格式简写,比如英语就是eng,可查看tessdata repository.
datapath 训练数据下载路径地址
progress 下载中,是否要输出下载进程,默认为输出
二.案例演示
1.环境配置
install.packages('tesseract')
library('tesseract')
setwd('e:/tess') # 设定工作路径
2.利用tesseract包提取英文文本
tesseract_info() #查看当前可用语言格式
text_1<-ocr('e:/tess/eng_1.jpg', engine = tesseract("eng"))
cat(text_1) #输出结果
3. 利用tesseract包提取中文文本
tesseract_info() #先查看是否有中文训练数据,如果没有,需要下载安装
tesseract_download("chi_tra")
tesseract_download("chi_sim") #chi_sim和chi_tra均是中文训练数据
text<-ocr('e:/tess/chi_1.jpg', engine = tesseract("chi_sim"))
4. 批量提取图片文本内容
temp<-list.files(pattern='*.jpg') #处理默认路径下jpg格式图片
text<-ocr(temp, engine = tesseract("chi_tra"))
cat(text)
注释:在使用图片批量处理方法时,需要图片格式一致!
三.文章小结
目前R软件通过tesseract包调用OCR引擎提取图片文本信息,对图片文本格式、噪声、对比度要求比较高,同时在多种语言(简体中文、英文等)混合时,提取准确度比较低,目前可以借助tesseract包实现简单图片的文本提取,同时结合jiebaR包、tm包进行文本分析与挖掘。
Github:https://github.com/tesseract-ocr
R+OCR︱借助tesseract包实现图片文本提取功能的更多相关文章
- 重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 词向量的表示主流的有两种方式,一种当然是耳熟能 ...
- pytesser图片文本识别
python图片文本识别使用的工具是PIL和pytesser.因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxy,这个工具的介绍可参考baidu. pytess ...
- 孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境
孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境 (完整学习过程屏幕记录视频地址在文末) 学习Python我肯定不会错过图片文字的识别,当然更重要的是简单的验证码识别了,今天 ...
- 小试Office OneNote 2010的图片文字识别功能(OCR)
原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...
- 规模数据导入高效方式︱将数据快速读入R—readr和readxl包
本文由雪晴数据网负责翻译整理,原文请参考New packages for reading data into R - fast作者David Smith.转载请注明原文链接http://www.xue ...
- R实战 第七篇:绘图文本表
文本表是显示数据的重要图形,一个文本表按照区域划分为:列标题,行标题,数据区,美学特征有:前景样式.背景央视.字体.网格线等. 一,使用ggtexttable绘图文本表 载入ggpubr包,可以使用g ...
- C#使用OneNote的图片文字识别功能(OCR)
http://www.cnblogs.com/Charltsing/p/OneNoteOCR.html 有需要技术咨询的,联系QQ564955427 前段时间有人问我能不能通过OneNote扫描图片, ...
- 25 The Go image/draw package go图片/描绘包:图片/描绘包的基本原理
The Go image/draw package go图片/描绘包:图片/描绘包的基本原理 29 September 2011 Introduction Package image/draw de ...
- 24 The Go image package go图片包:图片包的基本原理
The Go image package go图片包:图片包的基本原理 21 September 2011 Introduction The image and image/color packag ...
随机推荐
- Cacti在selinux开启的情况下使用
# chcon -R -t httpd_sys_content_t /var/www/html/cacti
- lodash源码分析之baseFindIndex中的运算符优先级
我悟出权力本来就是不讲理的--蟑螂就是海米:也悟出要造反,内心必须强大到足以承受任何后果才行. --北岛<城门开> 本文为读 lodash 源码的第十篇,后续文章会更新到这个仓库中,欢迎 ...
- ROS学习笔记
创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...
- tensorflow.python.framework.errors_impl.OutOfRangeError: FIFOQueue
tensorflow.python.framework.errors_impl.OutOfRangeError: FIFOQueue 原创文章,请勿转载哦~!! 觉得有用的话,欢迎一起讨论相互学习~F ...
- 编译安装 python 2.7
下载python2.7 Python-2.7.6.tgz 下载链接:http://pan.baidu.com/s/1c0AJDDI 配置./configure 编译make 安装 make insta ...
- 看雪.TSRC 2017CTF秋季赛第三题
看雪.TSRC 2017CTF秋季赛第三题 wp 这是一道很简单的题,反调试的坑略多.这道题采用了很多常用的反调试手段,比如调用IsDebuggerPresent.进程名检查等等.另外也有利用SEH的 ...
- Tomcat学习
一:项目默认部署路径: eclipse中,默认new一个server,项目默认会部署在:workspace\(工作空间)\.metadata\.plugins\org.eclipse.wst.serv ...
- 机器学习00:如何通过Python入门机器学习
我们都知道机器学习是一门综合性极强的研究课题,对数学知识要求很高.因此,对于非学术研究专业的程序员,如果希望能入门机器学习,最好的方向还是从实践触发. 我了解到Python的生态对入门机器学习很有帮助 ...
- BZOJ 2780: [Spoj]8093 Sevenk Love Oimaster [广义后缀自动机]
JZPGYZ - Sevenk Love Oimaster Oimaster and sevenk love each other. But recently,sevenk hea ...
- 使用Dockerfile构建镜像
Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像.它类似shell脚本,由一行行命令组成,支持以#开头的注释行.一般而言,Dockerfile分为四部 ...