一、OCR能干什么
OCR(Optical Character Recognition)能够实现对文本资料的图像文件进行分析识别处理,获取文字及版面信息,这意味着面对大篇幅显示为.jpg、.png等图片的文字信息,我们不需要手动录入就可以实现将图片转化为文本
前段时间笔者看到复旦大学有位博士利用OCR将核酸检测图片的信息转化为文本并进行整理。笔者最近恰好在学习R语言,想到R语言对于表格类的信息处理起来具有天然的优势,于是决定尝试用R语言实现这一过程。
经过笔者在CSDN、腾讯云和哔站等社区的学习,目前可以实现部分该功能,遂做记录,后续会逐步完善
二、R环境下实现OCR的功能的包
鉴于R环境下存在各种R包对R的工作环境进行不断的扩充,笔者觉得应该存在一个R包能够实现OCR功能。经过查找,这个包也确实存在。
tesseract包即可实现OCR功能
事实上,tesseract本身就是一个支持多种操作系统的OCR引擎。tesseract的最大优点是它是一个开源软件。在2006年tesseract被认为是最精准的开源光学字符识别引擎之一。(上述资料来源于维基百科)
在这篇blog中,笔者将实现在R环境下OCR中文图片输出文本文件并简单测试tesseract包进行OCR的性能
三、R环境下实现OCR
1.R包准备
#初始化
rm(list = ls())
options(stringsAsFactors = F)
#R包加载
library(magick) #图片切割
library(tesseract)#ocr文字识别
library(stringr)#字符串处理
library(httr)#处理http信息
本次用到的R包如果没有安装都可以通过install.packages()安装成