1.3 内容延伸:Python的OCR和tensorflow
1.3.1 OCR工具:Tesseract-ocr
OCR(Optical Character Recognition,光学字符识别)是一个非常“古老”的话题,原因是这项工作在上世纪90年代就已经普遍流行。但在大数据的背景下,我们要做的不是识别普通的光学字符(光学扫描文字),而是把范围扩大到识别更多领域的文字信息,例如手写识别、工业铭牌文字识别等非标准化、非印刷体、非传统资料录入的文字信息识别。
tesseract-ocr是一个Google支持的开源OCR图文识别项目,支持超过200种语言(包括中文),并支持自定义训练字符集,支持跨Windows、Linux、Mac OSX多平台使用。
不同的平台安装tesseract-ocr和配置差异较大,下面以Windows为例说明其安装过程。
1)进入https://sourceforge.net/projects/tesseract-ocr-alt/files/下载名为“tesseract-ocr-setup-3.02.02.exe”的安装包。
2)安装下载tesseract-ocr-setup-3.02.02.exe。
安装成功之后,在系统终端命令行窗口输入tesseract,可直接调用ocr命令。
C:\Users\Administrator>tesseract Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile... ] pagesegmode values are: 0 = Orientation and script detection (OSD) only. 1 = Automatic page segmentation with OSD. 2 = Automatic page segmentation, but no OSD, or OCR 3 = Fully automatic page segmentation, but no OSD. (Default) 4 = Assume a single column of text of variable sizes. 5 = Assume a single uniform block of vertically aligned text. 6 = Assume a single uniform block of text. 7 = Treat the image as a single text line. 8 = Treat the image as a single word. 9 = Treat the image as a single word in a circle. 10 = Treat the image as a single character. -l lang and/or -psm pagesegmode must occur before anyconfigfile. Single options: -v --version: version info --list-langs: list available languages for tesseract engine
有关tesseract-ocr的更多信息,具体请查阅https://github.com/tesseract-ocr/tesseract/wiki。
1.3.2 机器学习框架:TensorFlow
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,它是使用图模型将复杂的数据结构传输至人工智能神经网中进行分析和处理的框架,被广泛用于语音识别或图像识别等多项机器深度学习领域。
在TensorFlow出现之前,我们之前介绍的scikit-learn几乎是Python机器学习中最流行的工具(或者至少是最流行的工具之一),借助谷歌的强大号召力以及在人工智能领域的技术实力,TensorFlow正在慢慢凸显其优势,已经成为当前机器学习领域开源工具最流行的框架。TensorFlow支持跨平台的应用,最新版本已经支持Windows。从1.4.0开始的版本,Tensorflow已经支持X86架构的个人PC,但仅限于Python 3版本以上。
在Windows上安装Tensorflow,使用!pip install tensorflow命令即可实现。安装完成后,在Jupyter中输入import tensorflow时没有错误信息,就说明该包已经成功安装。
有关TensorFlow的更多信息,具体查阅www.tensorflow.org。