法律状态公告日
法律状态信息
法律状态
2013-06-19
未缴年费专利权终止 IPC(主分类):G06K9/72 授权公告日:20090527 终止日期:20120430 申请日:20070430
专利权的终止
2009-05-27
授权
授权
2007-11-14
实质审查的生效
实质审查的生效
2007-09-19
公开
公开
(一)技术领域
本发明涉及一种光学字符识别方法,特别是涉及一种印刷体阿拉伯字母识别方法。
(二)背景技术
在各种语言文字中,阿拉伯文是应用最广泛的文字之一。包括字母Lam-Alif在内,阿拉伯字母共有29个。简单来说,阿拉伯字母具有如下特点:
1.每一个阿拉伯字母根据在单词中的不同位置具有2~4种不同形式,分别为独立、开头、中间和结尾形式;
2.阿拉伯文没有元音字母,元音是通过给辅音字母标注称为“动符”的辅助字符的方法体现的。在阿拉伯文中有两个表示元音的“动符”,分别为Hamaza和Madda;
3.字母Lam和字母Alif可以连在一起形成一个新字母Lam-Alif;
4.字母宽度不相等,不仅不同字母的可能不等宽,而且某字母的四种形式也不等宽;
5.大部分阿拉伯字母含有辅助部分,这些辅助部分可能位于字母主体部分的上面、下面或者位于字母内部;
6.在字母表中相邻的几个阿拉伯字母可能具有相同的主体形式,而仅用辅助部分加以区别,这使得对于辅助部分的识别变得十分重要。
对于阿拉伯文识别的研究最早可以追溯到1975年,Nazif在其硕士学位论文中实现了一种印刷体阿拉伯文识别系统。此后对于阿拉伯文的研究一直没有什么进展,直到1980年,兴起了一股阿拉伯文识别研究的热潮,这一热潮一直延续到90年代初。这一时期,Amin、Shoukry、Jambi等人都对阿拉伯文识别进行了大量研究。目前,研究者们提出的印刷体阿拉伯字母识别方法主要包括:基于图像密度的识别方法;基于矩不变特征和神经网络的识别方法;基于基元特征和决策树的识别方法。这些方法当中,基于图像密度和基于矩不变特征的识别方法虽然比较简单,但是算法速度慢,并且这些方法没有充分利用阿拉伯字母丰富的外形特征;基于基元特征的识别方法需要细化过程,其识别速度慢,同时由于阿拉伯字母结构复杂,在细化过程中会出现断裂、毛刺等现象,导致该方法的识别率低。对于印刷体阿拉伯字母识别来说,急需一种简单、识别率高、速度快的方法,为提高现有商用阿拉伯文自动识别系统的性能打下良好的基础。
(三)发明内容
本发明的目的在于提出一种基于边界特征的印刷体阿拉伯字母识别方法。
本发明所采用的技术方案是,第一步,计算字母的上、下、左、右四个边界;第二步,将每一个边界看作一个波,将每一个边界表示为一系列波元的集合;第三步,从波元集合中提取波元个数、零直线个数、最长零直线长度作为识别特征;最后,采用决策树识别每一个印刷体阿拉伯字母。为了提高算法速度,采用从上到下、从下到上、从左到右、从右到左四个方向扫描的方式计算字母的四个边界。这种边界计算方法不仅简单,而且计算速度要大大快于传统的边界跟踪算法。为了简化识别过程,将每一条边界表示为零直线、正直线和负直线三种波元的集合,并对其进行合并、删除操作以提高算法的鲁棒性。在特征提取阶段,提取波元个数、零直线数目、零直线长度、字母高宽比等作为识别特征,这些特征不仅简单,并且可以很快从边界集合或者字母图像中直接得到。决策树首先利用字母高宽比将印刷体阿拉伯字母分为三类,对于每一类,再利用如下特征:字母辅助部分的高宽比、各个边界中的波元个数、各个边界中的零直线个数、右边界中第一条零直线的长度、下边界中第一条零直线的长度、上边界中最长零直线的长度、右边界中最长零直线的长度、下边界中最长零直线的长度和上边界中正直线的个数识别印刷体阿拉伯字母。
本发明克服了现有的印刷体阿拉伯字母识别方法速度慢、算法复杂的缺点,其有益效果是,将字母边界表示为各种波元的集合并从中提取各种波元的特征,特征提取过程简单明了,算法速度快、易于实现。
(四)附图说明
图1是识别独立形式的印刷体阿拉伯字母的决策树;
图2是识别开头形式的印刷体阿拉伯字母的决策树;
图3是识别中间形式的印刷体阿拉伯字母的决策树;
图4是识别结尾形式的印刷体阿拉伯字母的决策树。
(五)具体实施方式
下面结合附图和具体实施例对本发明作进一步说明:
结合图1-图4,其中,HW为字母高宽比,W为字母宽度,H为字母高度,LN1为左边界中的波元个数,LN2为上边界中的波元个数,LN3为右边界中的波元个数,LN4为下边界中的波元个数,SN1为左边界中的零直线个数,SN2为上边界中的零直线个数,SN3为右边界中的零直线个数,SN4为下边界中的零直线个数,SL31为右边界中第一条零直线的长度,SL41为下边界中第一条零直线的长度,MSL2为上边界中最长零直线的长度,MSL3为右边界中最长零直线的长度,MSL4为下边界中最长零直线的长度,PN2为上边界中正直线的个数,SHW为辅助部分的高宽比。
本实施例中为了提取边界特征,首先从字母图像中计算字母的四个边界。字母边界的计算方法如下(以左边界为例):从左到右扫描字母图像,设ep为从字母图像第p行左侧开始向右扫描遇到第一个黑象素时的连续白像素的个数,则字母的左边界E可以表示为:E={ep|p=1,2,....,N},其中N为字母高度。其余三个边界的计算方法类似,只是扫描方向不同。上边界的扫描方向为从上到下,右边界为从右到左,下边界为从下到上。
然后,利用如下步骤将每一个边界表示为波元集合(以左边界为例)。
步骤1,计算边界E的差分dE={dep|p=2,3,...,N},其中dep的计算方法如式(1)所示。
步骤2,使用式(2)对dE进行平滑。
dep=dep-1若dep-1=dep+1 (2)
步骤3,利用规则1,2,3找到边界中三种类型的波元——零直线、正直线和负直线。
规则1:若存在p和q满足p<q,dep-1≠0,deq+1≠0,并且dep=dep+1=....=deq-1=0,则p和q之间的边界为一条零直线,其长度为q-p。
规则2:若存在p和q满足p<q,dep-1>=0,deq+1>=0,并且dep=dep+1=....=deq-1=-1,则p和q之间的边界为一条正直线,其长度为q-p。
规则3:若存在p和q满足p<q,dep-1<=0,deq+1<=0,,并且dep=dep+1=....=deq-1=-1,则p和q之间的边界为一条负直线,其长度为q-p。
步骤4,若波元的长度大于2,则记录该波元的类型、起始点、结束点及其长度。
步骤5,将边界E用如下集合S表示,
S={(tm,sm,em,lm)|m=1,2,....,M},
其中,tm为E中第m个波元的类型,取值为0,1,2,分别表示零直线、正直线和负直线;sm、em以及lm分别为第m个波元的起点、终点和长度;M为E中波元的个数。
步骤6,根据规则4,5,6将连续波元合并。
规则4:若tp=tp+1,|E(ep)-E(sp+1)|<3,且sp+1-ep<2,则将这两个波元合并,同时令M=M-1。
规则5:若tp=tp+2,|E(ep)-E(sp+2)|<3,且lp+1<3,则将第p、p+1、p+2三个波元合并,同时令M=M-2。
规则6:若
然后,从经过上述处理所得到的字母边界集合中提取如下识别特征:字母高宽比(HW)、字母辅助部分的高宽比、各个边界中的波元个数、各个边界中的零直线个数、右边界中第一条零直线的长度、下边界中第一条零直线的长度、上边界中最长零直线的长度、右边界中最长零直线的长度、下边界中最长零直线的长度、上边界中正直线的个数。
本实施例分别采用图1~图4所示的决策树识别独立形式、开头形式、中间形式、结尾形式的印刷体阿拉伯字母。识别时,首先,利用字母高宽比将阿拉伯字母分成三类,然后对于字母个数大于1的类别,利用所提取的特征对其进行进一步细分,直到识别出该字母为止。以图1为例,独立形式的阿拉伯字母识别规则如下:
R1.若HW<1,且LN4≠1,则为字母Baa;
R2.若HW<1,且LN4=1,且0.5W<MSL4<0.7W,且LN3=2,则为字母Sad;
R3.若HW<1,且LN4=1,且0.5W<MSL4<0.5W,且LN3≠2,则为字母Dhad;
R4.若HW<1,且LN4=1,且MSL4<=0.5W,且LN3≠2,则为字母Sheen;
R5.若HW<1,且LN4=1,且MSL4<=0.5W,且LN3=2,则为字母Seen;
R6.若HW<1,且LN4=1,且MSL4>=0.7W,且MSL2>0.4W,则为字母Faa;
R7.若HW<1,且LN4=1,且MSL4>=0.7W,且MSL2<=0.4W,且SHW>0.9,则为字母Thaa;
R8.若HW<1,且LN4=1,且MSL4>=0.7W,且MSL2<=0.4W,且SHW<=0.9,则为字母Taa;
R9.若HW>3,则为字母Alif;
R10.若1<HW<3,且LN1=LN3=LN4=1,且MSL4>0.7W,则为字母Dal;
R11.若1<HW<3,且LN1=LN3=LN4=1,且MSL4<=0.7W,且LN2≠1,则为字母Waw;
R12.若1<HW<3,且LN1=LN3=LN4=1,且MSL4<=0.7W,且LN2=1,且MSL2>0.7W,则为字母Hha;
R13.若1<HW<3,且LN1=LN3=LN4=1,且MSL4<=0.7W,且LN2=1,且MSL2<=0.7W,且SN2=1,则为字母Raa;
R14.若1<HW<3,且LN1=LN3=LN4=1,且MSL4<=0.7W,且LN2=1,且MSL2<=0.7W,且SN2≠1,则为字母Ha;
R15.若1<HW<3,且LN3=LN4=1,且LN1≠1,且MSL2>0.4W,则为字母Lam;
R16.若1<HW<3,且LN3=LN4=1,且LN1≠1,且MSL2<=0.4W,则为字母Kaf;
R17.若1<HW<3,且LN1=LN4=1,且LN3≠1,且MSL2>0.8W,则为字母Jeem;
R18.若1<HW<3,且LN1=LN4=1,且LN3≠1,且MSL2<=0.8W,且MSL4>0.8W,且MSL3>0.5H则为字母Tta;
R19.若1<HW<3,且LN1=LN4=1,且LN3≠1,且MSL2<=0.8W,且MSL4>0.8W,且MSL3<=0.5H,则为字母Ttha;
R20.若1<HW<3,且LN1=LN4=1,且LN3≠1,且MSL2<=0.8W,且MSL4<=0.8W,则为字母Ain;
R21.若1<HW<3,且LN4=1,且LN1≠1,且LN3≠1,且MSL4>0.8W,则为字母Thal;
R22.若1<HW<3,且LN4=1,且LN1≠1,且LN3=2,且0.4W<MSL4<=0.8W,且MSL3>0.6H,且PN2=1,则为字母Gaf;
R23.若1<HW<3,且LN4=1,且LN1≠1,且LN3=2,且0.4W<MSL4<=0.8W,且MSL3>0.6H,且PN2≠1,则为字母Noon;
R24.若1<HW<3,且LN4=1,且LN1≠1,且LN3=2,且0.4W<MSL4<=0.8W,且MSL3<=0.6H,则为字母Meem;
R25.若1<HW<3,且LN4=1,且LN1≠1,且LN3=2,且MSL4<=0.4W则为字母Zay;
R26.若1<HW<3,且LN4=1,且LN1≠1,且LN3≠2,且LN3≠1,且SN1=2,则为字母Ghain;
R27.若1<HW<3,且LN4=1,且LN1≠1,且LN3≠2,且LN3≠1,且SN1≠2,则为字母Kha;
R28.若1<HW<3,且LN4≠1,且LN3≠1,则为字母Yaa;
R29.若1<HW<3,且LN4≠1,且LN3=1,则为字母Lam-Alif。
结合图2-图4,开头、中间和结尾形式的阿拉伯字母的识别方法与独立形式的识别方法相同。
机译: 手写阿拉伯字母的在线识别方法
机译: 手写阿拉伯字母的在线识别方法
机译: 基于有效阿拉伯文字特征提取的阿拉伯文字识别系统和方法