图3 两个字符的细化过程
细化过程采用的是FPA细化算法,其实现简单,功能强大,效果理想。如图3所示,即为对图像中两个已分离字符的细化过程。
文字识别
系统使用匹配法对文字进行识别。因此要先抽取图像中的一些特征量,然后将这些特征量与事先准备好的标准特征量进行匹配。如果某一个模板的标准特征量与待识别的图像的特征量最接近,即相似距离最小,则系统将待识别图像识别为该模板描述的文字或图像。
系统使用图4所示的方法提取特征量。其中有图像平面上纵、横、斜交叉的20条直线。这20条直线分别标记上1~20的序号。当图像平面上输入一个手写文字时,计算文字的各笔划与各条直线的相交次数,把他们作为该文字的特征量。设特征量数组为 , 中各个分量的值表示相应序号的特征直线与各笔划的相交次数。
图4 识别特征线
在提取特征值之前,系统先将分离出的文字图像逐一扩大为正方形,并且扩充之后文字仍然位于图像中心,使得斜向特征线更容易产生。
在特征线交点的基础上,系统匹配了更多的字符特征,例如端点个数、端点位置等,以提高识别的精度。这些特征量的提取有赖于图像的细化过程。
相似距离是 这样计算的。设待识别图形的特征量为 ,某个标准模板的特征量是 ,则待识别图形与该标准模板之间的相似距离 由下式计算。
使用识别系统
主程序可以分为三大部分:第一部分是程序的开始,包括读取配置文件、开辟内存空间(特别是图像的内存空间)以及对硬件设备进行初始化;第二部分程序等待用户的操作,一旦用户按下前面板的按钮,系统则对这些事件进行响应;第三部分是程序的结束,主要作用是释放资源、进行出错处理等。