手写体字符细化算法的

时间:2024-02-19 点赞:44643 浏览:85429 作者原创标记本站原创

本文是一篇算法论文范文,关于算法毕业论文格式范文,关于手写体字符细化算法的相关学年毕业论文范文。适合算法及字符及邻域方面的的大学硕士和本科毕业论文以及算法相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:字符细化是手写体识别预处理中的关键技术,细化结果的好坏直接关系到识别率的高低.由于手写字符的多样性和随意性,目前没有统一的细化算法,因此细化算法的研究受到越来越多学者的关注.该文以非粘连字符作为研究对象,对基于模板的细化算法进行研究.采用FPA细化算法、SPTA细化算法、改进的Hilditch细化算法进行理论分析和编程实现,通过对比细化效果,分析了几种细化算法的优缺点.

关 键 词:手写体字符;细化;FPA算法;SPTA算法;Hilditch算法

中图分类号:TP18文献标识码:A文章编号:1009-3044(2015)09-0226-02

字符细化,即提取字符仅有一个像素宽度的字符骨架,因此也称为字符骨架化[1].字符骨架化的过程是在保障像素间能够拓扑连接的前提下,对整幅图像的边缘像素进行连续擦除的处理,最终保留仅一个像素宽度组成的字符.

字符进行细化处理后能够消除字符图像中包含的冗余信息,避免不相关因素(如,手写字符的粗细)的干扰,减少计算机的运算量,进而使识别时间缩短.采用不同的字符细化算法提取到的字符骨架不同,会直接影响到在字符骨架的基础上提取的字符特征的好坏,最终对字符识别的正确率产生影响.因此,字符细化算法的研究显得尤为重要.

1字符细化算法研究

1.1FPA细化算法

针对经过二值化处理的手写字符图像中的任意一像素,选取周围的窗口做判断处理,如图1所示.FPA方法[2]的原理,将笔划的黑像素进行逐层的剥除,最终保留属于字符骨架的像素点.为了确保骨架提取的连续性,将每次处理又分解成两次子处理.

第一次子处理:从所选窗口区域的东南边界和西北角对满足式a)、b)、c)、d)的黑像素点进行剥除处理;

第二次子处理:从所选窗口区域的西北边界和东南角对满足式a)、b)、c')、d')的黑像素点进行剥除处理;

反复执行以上两次子处理,直到得到字符骨架为止.

a)2≤B(P1)≤6;

b)A(P1)等于1;

c)P2×P4×P6等于0;c')P2×P4×P8等于0;

d)P4×P6×P8等于0;d')P2×P6×P8等于0;

其中,A(P1)表示P2,P3,P4,P5,P6,P7,P8,P9,P2序列中出现01对的个数,B(P1)表示1在P1的周围八邻域窗口内出现的个数.公式a)用来限制字符骨架的端点不被剥离,公式b)保障字符骨架中间点的存留,如图2所示.公式c)、d)和公式c')、d')分别用来确保细化过程中只剥离东南边和西北角、西北边和东南角中不属于字符骨架的冗余点.

运用此算法对实验分割后的单个汉字进行细化,部分实验结果如下:图3为原图,图4为原图取反后的图,图5为实验得到的细化图.

1.2SPTA细化算法

SPTA算法[3]同样选取的窗口进行冗余点剥离处理.与FPA算法的不同点是从图像的上、下、左、右四个方向出发对字符进行细化处理.以P点为中心的的周边区域,如图6(e)所示.P点的8―近邻用于决定点是否可剥离,表示为序列Q,其中Q等于{n0,n1,n2,n3,n4,n5,n6,n7}.


如果序列Q符合图6(a),6(b),6(c),6(d)所示情况的任何一种,则表示为字符的右边界点、上边界点、左边界点和下边界点.下面对字符的细化过程加以说明,并以右边界点为例.

安全点的评判以公式(1)―(4)的布尔函数为判断准则:

同理,字符的左、上、下边界点的判断分别依据表达式(2)、(3)、(4)的返回值.SPTA算法进行字符细化一般情形下需进行多轮检查,每轮检查又分成两次扫描,每次扫描检查字符图像的单个像素点.整个过程既可以逐行扫描亦可逐列扫描.首次扫描的目的是检查所有的左、右边缘点,将非安全点做以标记;第二次扫描对上、下边缘点进行同样的处理.当一轮扫描操作完成后,不再有被标记的点,则将所有被标记的点进行剥离处理,表示算法循环结束.否则,需进行新一轮扫描.

运用此算法对实验分割后的单个汉字进行细化,部分实验结果如下:图7为原图,图8为原图取反后的图,图9为细化后的结果.

1.3改进的Hilditch细化算法

本文所采取的方法在经典Hilditch细化[4-5]算法(利用连接数Nc的基本串行算法)的基础上加以改进.依据图像腐蚀原理,考虑每个像素点的8―邻域以及8―邻域周围像素点的情况.分析像素点之间的关联情况,重新调整Hilditch算法所设定的限制条件.该方法在对字符细化的过程中,更加充分的考虑了各个像素,改进后的限制条件在不丢失关键点的同时能更加高效的剥离冗余像素点.

考虑一个像素点的8―邻域以及8―邻域周围像素点的情况示意图,如图10所示:

以上方法即为考虑周围25个点区域的方式.以P0点为例进行说明,在仅考虑8―邻域的情况下,当P0、P2、P3、P4为黑点,其余的点均为白点时,P0点并不可以直接剥离.因为仅考虑8―邻域时,P0点是横向拓扑点.新的判断方法时,若Pll、Pl2、Pl3、Pl4、Pl5、Pl6、Pl7点也是黑点,那么可以从纵向结构上判断P0点为冗余点,进行剥离处理.限制条件如下:

1)P0是黑点,即P0等于1;

2)P0的8―邻域,白像素点的个数在[2,6]之间,即[2≤NZp0≤6],其中[NZp0等于i等于18pi];3)从P1开始,对像素点进行逐对判断,若前一点和后一点的值分别为0和1,则将Ti的值置为1,否则置为0,i的范围为1,2,等,8.若[i等于18Ti等于1],则表示满足该条件,记为Z0(P0)等于1.

4)P1×P3×P7等于0即点P1,P3,P7中任意一个或者多个点的值为0,或者Z0(P1)≠1即以P1为基准点的8―邻域点的Z0计算结果值不等于1.

5)P1×P3×P5等于0即P1,P3,P5中任意一个或者多个点的值为0,或者Z0(P3)≠1即以P3为基准点的8―邻域点的Z0计算结果值不等于1.

当关注P1和P3的Z0运算时,P1和P3的8―邻域像素点情况示意图分别如图11和图12所示.

明显得知,计算Z0时,需要计算Ti在上述条件c)中,其i的取值范围为[1,8],但是,点P1、P3邻域点的下标与i的取值范围保持不同.

运用此算法对实验分割后的单个汉字进行细化,部分实验结果如下:图13为原图,图14为原图取反后的图,图15为细化后的结果.

2算法结果分析

本文通过对60个样本的实验分析,从连续性、速度、骨架的保持、细化结果、像素特性、算法实现的难易度、以及细化效果方面对三个算法进行了比较分析,分析结果如表1所示.

3结论

通过理论研究和实验分析,对三种算法提出了对比论证,FPA算法兼顾了连续性和四周噪声免疫,处理效果较好,容易实现.SPTA算法处理的结果是严格的单像素笔画,便于笔画跟踪提取,并且比较好地代表了笔画的中轴和保持了笔画的连续性,达到了细化的基本要求.对于Hilditch算法的改进,也是一种较好的模板法,细化后的图像没有改变原图像的主要特征,而且很好的排除了大量冗余信息的干扰.

虽然三个算法相对细化效果较好,但都存在一定问题,FPA算法难于排除撇、捺方向交叉笔画的畸变,且不是严格的单一像素.SPTA算法结果虽然是单一像素,但是速度比FPA稍慢,而且SPTA也难于克服45°交叉点畸变的问题.Hilditch算法虽然将转折位置的结构特征保留了下来,但个别多余信息冗余仍然存在,需对细节做进一步处理.

相关论文

基于形状的字符识别算法

本文是一篇字符论文范文,关于字符相关硕士论文开题报告,关于基于形状的字符识别算法相关本科论文范文。适合字符及凹凸及区域方面的的大学硕。

数学算法对计算机编程的优化

本文是一篇计算机编程论文范文,关于计算机编程毕业论文格式,关于数学算法对计算机编程的优化相关研究生毕业论文开题报告范文。适合计算机编。

无参考模糊图像质量评价改进算法

本文是一篇图像论文范文,图像有关毕业论文范文,关于无参考模糊图像质量评价改进算法相关专升本毕业论文范文。适合图像及数据库及算法方面的。

基于DTW和HMM算法的语音识别系统对比

本文是一篇算法论文范文,算法类专科毕业论文开题报告,关于基于DTW和HMM算法的语音识别系统对比相关专科毕业论文范文。适合算法及语音及模型。

改进的FCM算法在医学中的应用

该文是护理专业算法论文范文,主要论述了算法方面自考毕业论文开题报告,与改进的FCM算法在医学中的应用相关论文范文集,适合算法及计算机工。

基于OpenCL的遥感影像算法设计

这是一篇遥感有关学士学位论文范文,与基于OpenCL的遥感影像算法设计相关函授毕业论文。是论文总结专业与遥感及数据及计算机方面相关的免费。

三维计算机视觉技术算法导

本文是一篇计算机论文范文,计算机类大学毕业论文,关于三维计算机视觉技术算法导相关开题报告范文。适合计算机及应用数学及计算机科学方面的。