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

R语言OCR文字识别

利用R语言中的tesseract包进行中英文pdf与

点击关注了解更多哦

本文主要介绍利用R语言中的tesseract包进行中英文pdf与图片的OCR文字识别,目前tesseract能够支持100多种语言[1]

1.准备工作

首先需要安装tesseract包,由于tesseract包中不自带中文语言库,需要使用tesseract_download() 函数进行下载,如下载失败可后台回复20220408获取,将中文语言库chi_sim文件放置在 #$datapath路径下。同时分别准备中英文的图片与pdf文档,如下所示。

setwd("C:\\Users\\Acer\\Desktop"#工作路径
install.packages("tesseract"#install
library(tesseract) #加载,需要等待数分钟
tesseract_download("chi_sim"#下载中文简体数据,如失败可在后台获取
tesseract_info() 
#$datapath
#[1] "C:\\Users\\Acer\\AppData\\Local\\tesseract5\\tesseract5\\tessdata/"
#$available
#[1] "chi_sim"      "chi_sim_vert" "eng"          "osd"     

2.图片文字识别

2.1中文图片文字识别

jpgtext_CHN <- tesseract::ocr("CHN_OCR.jpg", engine = tesseract("chi_sim"))
cat(jpgtext_CHN)
#中 央 气 象 台 4 月 8 日 06 时 继 续 发 布 大 霁 黄 色
#预 警 : 预 计 ,4 月 8 日 白 天 至 夜 间 , 渤 海 北
#部 海 域 、 辽 东 半 岛 东 部 沿 岸 海 域 、 山 东 半
#岛 南 部 沿 岸 海 域 、 江 芬 南 部 沿 岸 海 域 、 长
#江 口 附 近 海 域 、 浙 江 东 部 沿 岸 海 域 将 有 能
#见 度 不 足 1 公 里 的 大 需 天 气 。 此 外 ,8 日 早
#晨 至 上 协 , 安 徽 北 部 、 山 东 半 岛 震 部 等 地
#的 部 分 地 区 有 大 雾 天 气 。
#.....

2.2英文图片文字识别

jpgtext_eng <- tesseract::ocr("engOCR.jpg", engine = tesseract("eng"))
cat(jpgtext_eng)
#--- Lesson 2 Breakfast or lunch?
#It was Sunday.
#| never get up early on Sundays.
#| sometimes stay in bed until lunchtime.
#Last Sunday | got up very late.
#| looked out of the window. It was dark
#outside.
#‘What a day!" | thought. ‘It's raining again.’
#Just then, the telephone rang
#.....

3.pdf文字识别

3.1中文pdf文字识别

pdftext_CHN <- tesseract::ocr("CHN_OCR.pdf", engine = tesseract("chi_sim"))
cat(pdftext_CHN)
#长 训 中 游 城 市 群 发 展 “ 十 四 五 “ 实 施 方 案
#长 江 中 游 城 市 群 地 跨 湖 北 、 湖 南 、 江 西 三 省 , 承 东 启 西 、 连
#南 接 北 , 是 推 动 长 江 经 济 带 发 展 、 促 进 中 部 地 区 崛 起 、 巩 固 “ 两
#横 三 纵 “ 城 镇 化 战 略 格 局 的 重 点 区 域 , 在 我 国 经 济 社 会 发 展 格 局
#中 具 有 重 要 地 位 。 为 加 快 长 江 中 游 城 市 群 协 同 发 展 , 依 据 《 中 华
#人 民 共 和 国 国 民 经 济 和 社 会 发 展 第 十 四 个 五 年 规 划 和 2035 年 远 景
#目 标 纲 要 》 与 《 中 共 中 央 、 国 务 院 关 于 新 时 代 推 动 中 部 地 区 高 质
#量 发 展 的 意 见 》, 编 制 本 实 施 方 案 。
#.....

3.2英文pdf文字识别

pdftext_eng <- tesseract::ocr("engOCR.pdf", engine = tesseract("eng"))
cat(pdftext_eng)
#Training elephants
#Two main techniques have been used for training elephants, which we may call re#spectively the tough and
#the gentle. The former method simply consists of setting an elephant to work an#d beating him until he does what is
#expected of him. Apart from moral considerations this is a stupid method of tra#ining, for it produces a resentful
#animal who at a later stage may well turn man-killer. The gentle method require#s more patience in the early stages,
#but produces a cheerful, good-tempered elephant who will give many years of loy#al service.
#.....

其他

更多内容及使用介绍可参考tesseract参考手册[2]帮助文档[3]

参考资料

[1]

Traineddata Files for Version 4.00 +: https://tesseract-ocr.github.io/tessdoc/Data-Files

[2]

tesseract: https://cran.r-project.org/web/packages/tesseract/index.html

[3]

Using the Tesseract OCR engine in R: https://cran.r-project.org/web/packages/tesseract/vignettes/intro.html




推荐阅读
  • Python中的PyInputPlus模块原文:https ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 表达式树摘录(1)
    本文主要讲述ConstantExpression介绍表示具有常量值的表达式。ParameterExpression介绍表示命名的参数表达式。UnaryExpression介绍表示包 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • IB 物理真题解析:比潜热、理想气体的应用
    本文是对2017年IB物理试卷paper 2中一道涉及比潜热、理想气体和功率的大题进行解析。题目涉及液氧蒸发成氧气的过程,讲解了液氧和氧气分子的结构以及蒸发后分子之间的作用力变化。同时,文章也给出了解题技巧,建议根据得分点的数量来合理分配答题时间。最后,文章提供了答案解析,标注了每个得分点的位置。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
author-avatar
毛云龙hei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有