热门标签 | 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




推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • PatchODAX8: ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
  • LaTeX使用XeLaTeX入门基础(一)
    主机平台:GentooLinux11.2内核版本:LinuxKernel3.2.1编译环境:XeTeX3.1415926-2.3-0. ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • 还记得这首是什么歌吗?
    作词:MahmoudJaff,作曲:MahmoudJaff,Timeisthecurrencyofyourlife,spenditwiselyÿ ... [详细]
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社区 版权所有