关于文字这方面会涉及图形识别学——OCR(Optical Character Recognition光学字符识别),目前像汉王,紫光,微软等都在这方面有专门的研究单位。OCR的步骤和过程算是集大成于一体,它会用到各种图形学中的方法来获得最高的正确率,OCR是不确定性科学,百分之百的识别正确率似乎只会存在于理论上。

我简单的介绍一下OCR的一般性过程吧:

首先是提取前预处理

这个过程是将你用扫描仪、数码相机等工具将印刷品或手写品输入到电脑后,先采取一些通用的算法将这些得到的图像特征化:譬如先进行二值化或灰价化,图像的去噪和正规化及可能需要的影像矫正,还会有图文分析、字行间处理等,这个过程做的事可能最多最杂,但所用到的算法理论和技术方面都很成熟了。不过最后的文字的行间距处理就会有一些差异,有些软件可能只会简单的将文字一个个提取出来了事,完全不管之前的印刷格式,这就是一个简单的字行间距处理的实现。复杂得可能会得到印刷品的排版信息。

然后是文字特征提取

这是OCR的关键部分了,用何种方法提取会直接影响到最终正确率,这方面的论文和学术报告也最多,但主要方法一般有两种:一是统计特征,如文字区域内的黑白点数比,当文字区分成好几个区域时,这一个个区域黑白点数比之联合,就成了空间的一个数值向量,在比对时,基本的数学理论就可以应付了;另一类特征为结构的特征,如文字影像矢量化后,取得字的笔划端点、交点的数量及位置,或以笔划为特征,配合相应的比对方法比对,一般的手写输入软件的识别方法多为后者。

再就是数据库对比

不论采用上面的哪种方法进行的提取,都得有一个对比数据库进行比对,比如常用的比对方法说松弛比对法、欧式空间比对法、类神经网络比对等,这些方法也可以互补使用。

后期处理

这部分包括字词处理和人工校正。最后的结果就可以输出了。

基本上就是这些了,里面很多名词可能就是一门学科,需要花费较长时间和精力去研究。