OCR和tesseract项目
什么是OCR?
OCR(Optical Character Recognition,光学字符识别),针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。
什么是tesseract?
谈到OCR就一定要首先聊聊tesseract。tesseract的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的训练介绍
- https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00
- GPU, no support
- very long time depend on fonts