OCR和tesseract项目

什么是OCR?

OCR(Optical Character Recognition,光学字符识别),针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

什么是tesseract?

谈到OCR就一定要首先聊聊tesseracttesseract的OCR引擎。最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。

数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生--2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于Google对Tesseract进行改进、消除Bug、优化工作。目前已作为开源项目发布,大部分的开发人员均来自于Google。

目前最新版本是4.0(Oct 29 2018)。4.0版本主要增加了新的基于LSTM神经网络的引擎,识别率和正确率得到提高。

  • 添加了一个新的OCR引擎,该引擎使用基于LSTM的神经网络系统,具有很高的准确性。
  • 这包括LSTM OCR引擎的新的训练工具。可以从头开始或通过微调现有模型来训练新模型。
  • 添加了经过训练的数据,其中包括多种语言的LSTM模型。

tesseract的相关库

Python-tesseract是tesseract-OCR引擎的Python包装器。 它作为独立的调用脚本也很有用,因为它可以读取Python Imaging Library支持的所有图像类型,包括jpeg,png,gif,bmp,tiff等,而tesseract-ocr默认只支持 tiff 和 bmp。此外,如果用作脚本,Python-tesseract也可以将已识别的文本直接打印出来。

tesseract.js是tesseract-OCR引擎的JavaScript库器。通过npm安装

1
npm install tesseract.js --save

tesseract的相应软件

gImageReader:A Gtk/Qt front-end to tesseract-ocr.

TesseractStudio.Net:A free Windows graphical interface to the Tesseract 4.0 OCR engine.

待续其他:

  • tesseract中LSTM的具体分析;
  • tesseract如何使用;
  • pytesseract如何使用;
  • tesseract使用的正确率测试

关于tesseract的训练介绍