1.3 内容延伸:Python的OCR和TensorFlow
1.3.1 OCR工具:Tesseract-OCR
OCR(Optical Character Recognition,光学字符识别)是一个非常“古老”的话题,原因是这项工作在20世纪90年代就已经广泛流行。但在大数据的背景下,我们要做的不是识别普通的光学字符(光学扫描文字),而是把范围扩大到识别更多领域的文字信息,例如手写识别、工业铭牌文字识别等非标准化、非印刷体、非传统资料录入的文字信息识别。
Tesseract-OCR是一个Google支持的开源OCR图文识别项目,支持超过200种语言(包括中文),并支持自定义训练字符集,支持跨Windows、Linux、Mac OSX等多平台使用。
不同的平台安装和配置Tesseract-OCR差异较大,下面以Windows为例说明其安装过程。
第一步 进入https://sourceforge.net/projects/tesseract-ocr-alt/files/,下载名为“tesser-act-ocr-setup-3.02.02.exe”的安装包。
第二步 下载安装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正在慢慢凸显优势,逐步成为Python领域最具有发展潜力的机器学习框架。
TensorFlow支持跨平台的应用,最新版本已经支持Windows。但遗憾的是TensorFlow只支持X64架构的Windows,这种架构更多集中应用在服务器上,而个人电脑通常是X86架构(包括32位和64位),所以在个人Windows电脑上通常是无法直接安装和使用TensorFlow的(可以在虚拟机上安装学习)。
有关TensorFlow的更多信息,具体查阅www.tensorflow.org。