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包实现图片文本提取功能的更多相关文章

  1. 重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 词向量的表示主流的有两种方式,一种当然是耳熟能 ...

  2. pytesser图片文本识别

    python图片文本识别使用的工具是PIL和pytesser.因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxy,这个工具的介绍可参考baidu. pytess ...

  3. 孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境

    孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境 (完整学习过程屏幕记录视频地址在文末) 学习Python我肯定不会错过图片文字的识别,当然更重要的是简单的验证码识别了,今天 ...

  4. 小试Office OneNote 2010的图片文字识别功能(OCR)

    原文:小试Office OneNote 2010的图片文字识别功能(OCR) 自Office 2003以来,OneNote就成为了我电脑中必不可少的软件,它集各种创新功能于一身,可方便的记录下各种类型 ...

  5. 规模数据导入高效方式︱将数据快速读入R—readr和readxl包

    本文由雪晴数据网负责翻译整理,原文请参考New packages for reading data into R - fast作者David Smith.转载请注明原文链接http://www.xue ...

  6. R实战 第七篇:绘图文本表

    文本表是显示数据的重要图形,一个文本表按照区域划分为:列标题,行标题,数据区,美学特征有:前景样式.背景央视.字体.网格线等. 一,使用ggtexttable绘图文本表 载入ggpubr包,可以使用g ...

  7. C#使用OneNote的图片文字识别功能(OCR)

    http://www.cnblogs.com/Charltsing/p/OneNoteOCR.html 有需要技术咨询的,联系QQ564955427 前段时间有人问我能不能通过OneNote扫描图片, ...

  8. 25 The Go image/draw package go图片/描绘包:图片/描绘包的基本原理

    The Go image/draw package  go图片/描绘包:图片/描绘包的基本原理 29 September 2011 Introduction Package image/draw de ...

  9. 24 The Go image package go图片包:图片包的基本原理

    The Go image package  go图片包:图片包的基本原理 21 September 2011 Introduction The image and image/color packag ...

随机推荐

  1. 【转】GPS基线的精化处理

    影响基线解算结果的因素主要有: (1)基线解算时所设定的起点坐标不准确. 起点坐标不准确,会导致基线出现尺度和方向上的偏差,造成的影响目前还没有较容易的方法来加以判别,因此,在实际工作中,只有尽量提高 ...

  2. Jmeter_24个常用函数(分享帖)

    JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便. JMeter函数是一种特殊值,可用于除测试计划外的任何组件. 函数调用的格式如下所示:${__functionName(var1 ...

  3. 使用命令行生成jar包

    测试用类 public class Hello { public static void main(String[] args) { System.out.println("hello wo ...

  4. JAVA设计模式---命令模式

    1.定义: 将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象,命令模式也支持可撤销的操作.命令可以用来实现日志和事务系统. 2.实例: 1)需求:设计一个家电遥控器的API,遥控 ...

  5. C# Ioc ASP.NET MVC Dependency Injection

    ASP.NET MVC Dependency Injection 同志们,非常快速的Ioc注册接口和注入Mvc Controller,步骤如下: 安装Unity.Mvc NuGet Package 在 ...

  6. 话说CentOS6的启动流程

    1.按下开机按钮,电脑的主板通电,电脑开始加电自检(POST,Power On and Self Test),测试主机的硬件是否满足开机的要求. 2.加载主板上的BIOS(Base Input/Out ...

  7. CSS3动画详解(超详细)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 本文主要内容: 过渡:transition 2D 转换 trans ...

  8. Tomcat日志与Log4j日志

    一:日志作用 更好的调试,分析问题. 普通的一个请求处理10秒钟,日志10秒钟,总共就得20秒钟,这肯定是不行的,因为日志严重影响了性能.所以,我们就有必要了解日志的实现方式,以及它是如何降低IO的时 ...

  9. django-rest-framework之基于类的视图

    前言:上一篇博客中,主要讲的是请求和响应,项目里面views.py中的视图函数都是基于函数的,并且我们介绍了@api_view这个很有用的装饰器.同时,我们还介绍了APIView这个类,但是还没使用它 ...

  10. 解决xshell评估期已过的问题

    问题:时间长没有打开xshell,今天突然打开提示评估期已过,如下图所示: 点击采购会弹出购买的界面,(对于我们这些程序屌怎么会花899购买一款软件)点击取消就会退出. 解决方法: 卸载这个要收费的版 ...