字符的识别方法

文档序号:1175阅读:599来源:国知局
专利名称:字符的识别方法
一般地讲,本发明涉及一图形的识别方法和系统,特别而言,是涉及一种将未知的输入字符同已寄存好的已知字符进行比较而对字符进行识别的方法和系统。更准确地说,本发明涉及一种适用于字符识别方法和系统的字符细分方法。进一步而言,本发明涉及一种使用多层定向码直方图技术的字符识别方法。
包括将一字符图形细分成多元格网区域的步骤和将每一格网区域中的字符图形的特征量集中处理的步骤的一字符识别方法已公知。然而,在将字符图形细分成格网区域的细分点的情况中,容易将字符畸变,以使得利用固定的细分点对于如同手写的中文字符进行识别的识别率趋于严重地变劣。为防止这种由字符图形畸变而引起的字符识别率的劣变,已经提出过使用可变细分点的字符图形的细分方法,例如日本已转让于本申请的受让人的第59-202823申请,根据这种使用可变细分点的方法,用以细分一字符图形成为格网区的细分点被可变地确定,以使预定的字符图形的特征量在细分格网中等同分布。
进一步,另一指定给本申请的受让人的日本专利申请59-202825,在该申请中公开了一种采用如同可变图形细分方法和对每一细分格网区域的字符图形的特征量进行集合处理而进行字符识别的方法。利用这种可变字符图形细分方法,与固定细分方法相比较,其字符识别率受到字符图形变化的影响较小,以此而获得对于手写或相类似字符识别率的提高。然而,使用上述的字符识别方法,相邻近的细分格网区不相互重叠,或即使相互重叠,其重叠宽度保持恒定。结果是,基于一字符图形畸变的方式与程度,会出现这样的情况,由于字符图形畸变引起的特征量的起伏不能被充分吸收。
根据本发明的一个方面,提供了一个用以细分一个图形的方法,在其中,用于确定一个字符图形的字符区域首先被细分为第一多元子区域,以使预定的特征量在子区域中实际相等地分布,并且至少有一些第一多元子区域相结合而将第一多元子区域转化成第二多元格网区域,从而将字符区细分成格网区域。当将至少一些子区域结合时,首先考虑的是将两个或更多的相邻子区域结合成为一个格网区。此外,至少一些格网区具有一重叠部分,该重叠部分、是由结合在两个与共用子区相邻的子区域中的共用子区域而确定的。
根据本发明的另一方面,提供了一个用于字符识别方法中的字符图形细分方法。它包括步骤有,对于确定一个字符区中的字符图形的轮廓象素指定一多元预定定向码;细分字符区成为第一多元子区域,以便使指定的方向码在第一多元子区域中实际均匀地分布;根据一预定的方式,至少对一些所说的第一多元子区域进行结合,而将第一多元子区域转变成为第二多元格网区域。最好是,在数目上第一多元子区域大于第二多元格网区域。在本发明这方面的优选实施例中,字符识别的方法使用了所谓多元定向码直方图的方法。
因此,本发明的一个基本目的是克服上述现有技术缺点,并提供一改进的字符图形细分方法。
本发明的进一步目的是提供一个使用了一改进了的字符图形细分方法的字符识别方法和系统。
本发明的更进一步目的是提供了一改进的字符图形细分方法和系统,它适合于处理变形的字符,例如手写字符。
本发明更进一步的目的是提供了一个改进了的字符识别方法和系统,它受由于字符图形畸变的不利影响最小。
本发明的进一步目的是提供一改进的字符图形细分方法,当使在一字符识别系统中时,能够保持高的识别率而同被处理的字符图形的条件无关。
本发明的其它目的,优点及新颖特征,将由参考附图所作的下述详细描述而变得明显。
附图的简介图1a和1b是说明,展示如何根据本发明的实施例将一字符区域首先细分成子区域,然后将其转变成格网区域;
图2是一方块图,表示依照本发明的实施例而构成的字符图形细分系统去完成如图1a和1b所说明的字符细分过程;
图3a是一个表示如何将图3a(1)和图3a(2)结合的说明;
图3a(1),3a(2)和3b确定了一个流程图,表示了一个用于完成在图1a和图1b中所阐明的字符图形细分方法的步骤顺序;
图4是一个表示根据本发明的另一实施例字符图形细分方法的说明;
图5是一个表示如何将图5a和图5b结合的说明;
图5a和图5b,当如图5所表明被结合时,确定一个流程图,表示一个用以完成如图4中所阐明的字符图形细分方法的步骤顺序;
图6是一个方块图,表示一个依据本发明的又一实施例而构成的光学字符识别系统;
图7a至图7f确定了一个流程图,表明一个执行如图6所示的系统中的特征提取单元15的步骤顺序;
图8是一个图示说明,表明一个表格,它定义了一个多元方向码和与它相联系的适于图6所示系统中使用的利用中心象素作为重要象素的象素图形。
图9是用于解释图6中所示的系统所采用的字符细分方法的说明。
对于实施例的描述首先应该注意,本说明书中所谈“字符”一词的含意,包括了与之相类似的一类术语,例如“字母”,“符号”,“数字”。
先参见图2,其中以方框图形式给出了一个按照本发明的实施例而构成的字符图形细分系统。如所示的那样,本字符图形细分系统包括一个微处理器1和一个用于存贮程序及数据的存贮器2,该存贮器是经总线3与微处理器I相联的,在系统中还提供有字符图形输入单元8,它是与总线3相联的。因而,一个由输入单元8输入的字符图形存贮在经由微处理器确定在存贮器2中的字符缓冲存贮器4中。微处理器1进行一定向码的指定工作,以便对一字符线的轮廓象素指定为预定的8种不同的定向码,其中的字符线根据预定的方式确定字符图形,而且,具有确定其轮廓的定向码的字符图形贮存在字符缓冲存贮器4中。一个关于这种定向码和对一个字符图形的轮廓象素指定这种定向码的步骤的有关例子,将在以后介绍。在这种情况下,加有定向码的全部数字ITOTAL被计数,而且将此数存贮在存贮器2的特定地址。存贮器2中也定有一子区表5,一分配表6和一格网区表7。
根据图1a和图1b,依本发明实施例的一字符图形细分过程被描述如下。首先,对于一字符图形的轮廓(在此假设一个在行方向上有64个象素,在列方向上有64个象素的图形)被指定一如上所表示的多元预定定向码(特征量),并将其存贮在缓冲寄存器4中。然后,将字符图形在横向上及纵向上都划分成5个部分,使字符图形细分成一多元子区域,以便指定的定向码在细分的子区域中的分布是均匀的。更特殊地,字符图形被分成5个水平部份,以使每一水平部份包含有由对ITOTAL5等分而决定的指定的定向码的数目,相类似地,字符图形也被分成五个垂直部分,以使每一个垂直部分在实际上具有相同的定向码数。
在图1b中,IT(2)至IT(5)表示沿水平轴将字符图形细分成5个水平部分的座标位置,JT(2)至JT(5)表明沿垂直轴将字符图形细分成5个垂直部份的座标轴位置。以这样的方式,即,将字符图形分成5个水平部分及5个垂直部分,得到了第一多元子区域A至Y(5乘5=25),如图16中所示。应当注意,连同其他细分点的座标存贮在子区域表5中的式子IT(1)=ST(1)=1和IT(6)=JT(6)=64。
然而,根据存贮在分配表6中的分配指示信息,被指示的子区被分配到每一格网区,而后按一指明的方式将子区域结合,以便将第一多元子区转变成为一第二多元格网区(本例中为4×4),它在数值上是比第一多元子区要小。换句话说,至少有一部分子区域被结合成一定的格网区,由此而形成复盖全字符图形面的第二多元格网区域。由于分配指示信息内容是相应于存贮于分配表6中的数据的,因而在所说明的实施例中,如同图1a所示出的那样,其字符图形是最终被分为第二多元格网区域1至16的。
结合两个或更多的子区域的集合而形成一个格网区是依照下列的构思模式而进行的。在水平方向上从左开始进行细分的η1(=1)水平细分(即子区域A,F,K,P和U)被转变成第一合成水平细分,座标对IT(1)和IT(2)被存入格网区表7中。从细分位置座标n12开始的水平细分n2被转变成第二合成水平细分,其细分位置座标n12是在细分位置座标IT(2)以前(或以左)的。由于η12=0,η2=2,此处子区域B,G,L,Q,V,C,H,M,R和W被合成,与第一组水平细分不重叠的第二组水平细分。并且,座标对IT(2)和IT(4)被存入格网区表7。而后,从细分位置座标η23始的水平细分η3被转变成第三合成水平细分,其中细分位置座标η23是在细分位置座标IT(4)之前(或以左)的。由于η23=1,η3=2,此处子区域C,H,M,R,W,D,I,N,S和X被合成为同第二组水平细分相重叠的第三组水平细分。并且,座标对IT(3)和IT(5)被存入格网区表7中。相类似地,包含E,J,O,T和Y的水平细分被转变成第四组合成细分,以使座标对IT(2)和IT(6)被存入格网表7中。
相类似地,结合或合并对于垂直细分也是同样进行的,其结果是座标对JT(1)和JT(2),JT(2)和JT(4),JT(3)和JT(5),JT(5)和JT(6)分别被贮存在格网区表7中,以这样的方式,如图1a所示出的格网区域1-16的细分位置信息被贮存于格网区表7中,就是说,子区域A是分配到格网区1,而子区域B和C是分配到格网区域2,子区域C和B(D?译者)是分配到格网区域3的。子区域C对于格网区域2与3是共用的,因此,它在这两个相邻的格网区域2与3中,确定了一个重叠部分。以相类同的方式,子区域F与K被分配到格网区域5而子区域K与P被分配到格网区域9,以使在垂直方向上作为两个相邻格网区域的5与9之间,由子区域K构成一个重叠部分。另一方面,子区域G,L,H和M被分配给格网区域6,而子区域H,M,I和N被分配给格网区域7;而子区域L,Q,M和R被分配给格网区10,子区域M,R,N和S被分配给格网区域11。换句话说,子区域M被共同分配给了四个相邻的格网区域6,7,10和11,因而确定了这四个相邻格网区域的重叠部分。
以此种方式,从子区域形成了格网区域,亦即,这一形成是经细分字符图形以使预定的特征量(此例中是定向码)在子区域中实际是均匀公布的;并经至少是部分地结合或合并两个或更多的子区域而实现的。并且,处于两个或更多的邻近格网区域那一重叠部分也被定为一个子区域。因此,既便是对同一字符而言,这种特殊的结合方式是与依赖于畸变的方式和/或程度是不同的。结果是,与那种相邻格网区域中无重叠部分,或相邻格网区域的重叠宽度恒定的现有技术相比,本发明能适应更大范围的字符图形的畸变,而使得字符图形的特征提取稳定地进行而不受其畸变的影响。应当注意的是,在上述实施例中,定向码已经被用作特征量;然而,在考虑一特殊字符的识别所用的算法时本发明的这种字符细分方法也可选用其它各种形式的特征量,例如,黑色象素数目。
接下来,特别参考图2及图3a(1)、3a(2)和3b,对依据本发明一实施例的字符图形细分过程作更为具体的描述。
图3的流程图中,步骤100至116是对应于细分一个字符图形成为第一多元子区域的步骤顺序。一旦将一多元予定的定向码指定到一字符图形的轮廓象素过程完成(并计算指定码的ITOTAL的数值),微处理器1便沿步骤100开始处理。首先,在步骤100,一个计数器I(一个微处理器1的内部寄存器或存贮器2的特定地址)被清除,而且该计数器在下一步骤101增加1。而后检查一下计数器I的计数值是否为5(在水平及垂直方向上的细分数),如果不是的话,则进行步骤103。在步骤103,要计算(ITOTALXI)/5的值,并将其结果以地址ITO(I)存入存贮器2中。由步骤101至103的循环要重复到条件I=5成立为止。
在此,存贮在地址ITO(I)的值表示从字符图形的左边(或右边)到水平方向(或垂直方向)上的第一组细分的右边(或下边)所包含的定向码的数目。一旦实现条件I=5,则进行在104开始的步骤。在步骤104,寄存器IT1和JT1(微处理器1的内部寄存器或存贮器2的特定地址)被清除。在步骤105,条件IT(1)=JT1=1被写入子区域表5中,而后在步骤106,条件IT(6)=JT6=64(字符大小)被写入子区域表5中。在步骤107,数字“2”被置于计数器I与J(微处理器1的内部寄存器或存贮器2的特定地址),并且,计数器K(微处理器1的内部寄存器或存贮器2的特定地址)被清除。通过107至116的步骤,在水平和垂直方向上的细分位置座标被确定。在步骤108,计数器K增值1并在下一步骤109检测其值是否已经达到值“64”。
如果计数器K的值还未达到64,则进行步骤110。在步骤110,具有字符缓冲存贮器4的水平座标K的垂直方向上的一行被扫描,而后将位于此行的定向码的数值LINE(1,K)加到寄存器IT1的值上,并再次将该结果置于寄存器IT1。具有垂直座标K水平方向上的一行被扫描,由此而得到的定向码数值LINE(2,K)随即加至寄存器JT1的值上,并将该结果再置于寄存器JT1。在下一步骤111,寄存器IT1的值与存贮在存贮器2的地址为ITO(I)的数值进行比较,若前者大于后者,则进入下一步骤112,在此步骤,计数器K的值作为水平方向上细分位置座标IT(1)被写入子区域表5,并且,计数器I在步骤113增值,随后进行步骤114。如果在步骤111决定的结果是IT(1)等于或小于ITO(1),则步骤112及113被跳过。
在步骤114,寄存器JT1的值与处在地址ITO(J)的值相比较,如果前者大于后者,则进入下一步骤115,在此步骤,计数器K的数值作为在垂直方向上的细分位置座标JT(J)被写入子区域表5中。此后进行步骤116,在此步骤中计数器J被增值,随后返回步骤108。用这种方式,当字符图形已被水平和垂直方向上细分成5个部分时,计数器K的数值达“64”,故从步骤109执行到步骤117。
步骤117至124确定了一个用以将存贮在分配表6中的内容进行一些子区域的结合来转换第一多元子区域成为第二多元格网区域的过程,如同前文中参照图1a和图1b所介绍的那样,就是说在此过程中,格网区域细分位置的信息,即在水平和垂直方向上转变或合并细分的细分位置座标从子区域表5中读出,并写入格网区域表7中。
在另一个结构中,分配表6可以存贮于一个只读存贮器或称ROM中,然而,如果分配表6如上述实施例那样是存贮于一个RAM中,那么,子区域结合或合并的规则可仅仅依靠调整其存贮于其中的内容而轻易地改变,例如,当使用的是RAM时,其分配表6可相应于一种字符或一族字符的种类而被再写入。
现在描述本发明的另一个实施例。在上述实施例中,结合或合并子区域是根据分配表6的内容而进行的。另一方面,在本实施例中,结合或合并子区域是依据由特定方程而决定的规则来进行,而并不使用分配表。
图5a和图5b表示一个流程图,它表明了一个依据本发明第二实施例将字符图形细分成为格网区域所确定的过程步骤顺序,然而,应当注意,本流程图中的步骤200包含有相应于图3所示的步骤100至116的一组相同的步骤。此外,步骤209对应着一个用于执行对每一格网区域的字符图形提取特征过程的步骤。例如被公开的定向码的直方图信息,如同已经转让给本申请受让人的日本第59-202825号专利申请。还应当注意,第二实施例的过程可用如图2所示的系统来执行。
参考图5a和5b,格网区域的细分过程介绍如下。当在步骤200细分一个字符图形成为5×5的子区域以后,一个结合或合并子区域的过程即开始。在步骤201,用以记水平方向的细分数计数器N被清除,而后,在步骤202,计数器N被增值1。接着,在步骤203,计数器N的值与在垂直方向上格网区细分的数值Imes相比较。如果N是等于或小于Imes,则执行步骤204,在此步骤中,相对于Iwx(N-1)+1的水平细分位置座标(由子区域细分过程而定的座标)被置于寄存器IP1。此外,相对于Iwx×N+2的水平细分位置座标(由子区域细分过程而定的座标)被置于寄存器IP2。
此处,Iw=(Idev+Imes-1)/Imes-1,Idev是在水平和垂直方向上子区域细分数,然而,它的选择须符合关系式Idev=C×Imes+1(C=1,2,3,……)。
而后进行步骤205,在此步骤中,用以记垂直方向的细分数的计数器M被清除。在步骤206计数器M被增值1,在步骤207计数器M的值Imes比较。如果M是等于或小于Imes)则到步骤208在步骤208,对应于IW×(m-1)+1的水平细分位置座标(由子区域细分过程而定的座标)被置于寄存器JP1中。此外,对应于IW×M+2的水平细分位置座标(由子区域细分过程而定的座标)被置于寄存器LP2中。借助于此,确定一格网区域,而且它的起始点座标(格网区的左上角)是由寄取器IP1和JP1的内容确定的,而它的终点座标(格网区的右下角)是由寄存器IP2和JP2确定的。对于按这样方式而决定的单一格网区,一个定向码的直方图在步骤209中形成。一经完成步骤209,便返回步骤209,以便决定处在同一水平位置的下一个格网区域。当所有的处于同一水平位置格网区域的确定完成时形成一方向直方图,则在步骤207中满足M大于Imes的条件,故返回步骤202,随之开始一个过程去确定在水平方向上移动了一个位置的格网区域。一完成所有的格网区域的确定,由于在步骤203中,满足N大于Imes的条件,本过程便终了。
应当注意,其流程的构成可以仅进行格网的细分过程而当省去用以形成一定向直方图的步骤209,在第二个实施例中,具有Idev=5和Imes=2(因此Iw=2)的格网细分结果在图4中做了说明,其中虚线表明子区域的分界线,而实线表明通过于一部分地结合或合并子区域而形成的格网区域的分界线。也是在此实施例中,由于格网区域细分的方式和一些格网区域重叠部分是随着一个字符图形的畸变的方式或程度而变化的,所以一字符图形的畸变被充分地吸收,而且一字符图形的特殊提取可以永久稳定地进行,由此,如同前述的实施例那样,有助于对于一种无论有无畸变的字符保持高的字符识别率。
现在来参看图6,这是以框图形式表示的按本发明的另一个实施例所构成的光字符识别系统。如图所示,本系统包含一个扫描器11,用来光学地读出原始图象,从而将一个光图象信息转换为电的二进制图象信号,该信号被输入到字符分段单元12,在此把各个字符图形从二进制图象信号中分离出来。然后,将这种已分段的各个字符图形输送到消除噪音成分的噪音消除单元13。接着,字符图形输送到标准化单元14,再输送到特征提取单元15。在特征提取单元15中,从这样输入的字符图形提取特征的过程是按照所谓的多层定向码直方图方法来完成的。如此提取的特征向量加到匹配单元16,在此单元执行对这样提供的特征向量与作为已知字符图形而存贮在信息库17中的特征向量间的距离计算,从而,向输出单元18提供一个具有最小计算距离的已知字符编码。
在特征提取单元15所执行的流程将特别参照表示该流程的步骤的顺序流程图Ta-Tf在下文中进行详细描述。要注意的是特征提取单元15可能具有由微处理机,存贮器及其类似装置构成的硬件结构,微处理机按照存贮在存贮器中的预定程序提取预定的流程。还应注意的是后文叙述中将提到的计数器,特征位及图表等项目可能被补充为存贮器的特定地址或存贮区域。
在特征提取单元15中的流程,通常可以分为一个指定多个预定的定向码的子流程,恰如图8中所示的确定字符图形(存贮在存贮器中的特殊区域内)的字符轮廓线的白象素;一个用于把指定的定向码(被指定为确定字符轮廓线的白象素)分类到不同层的子流程;一个把字符图形细分为格网区域的子流程以及一个用于把每个格网区域的每一层形成一个定向码直方图的子流程。现在,参看图7a~7f来详细叙述这些子流程中的每一个。
在步骤300,定向码数字计数器ITOTAL及地址计数器J都置“O”,那么,一个实际的流程是在步骤302开始。首先,来叙述指定子流程的定向码。按照这个指定子流程的定向码,输入的字符图形在水平方向上被从左至右扫描,在此期间对基于排列在重要的白象素的上下左右的一组四象素图确定的地址值的定向码表进行存取,并从表中读出的地址码被写入指定的定向码的与重要象素对应的存贮器上图形存贮区域的地址内。亦即在步骤302,用于标示垂直方向上的字符图形的扫描地址的地址计数器J加1而在步骤304,地址计数器J的计数与垂直方向的字符图形的尺寸,J的尺寸进行比较,如果J等于或小于J尺寸,由于这表示在扫描的中途,流程继续进到步骤306,在此步骤层分类计数器I计数器和与后文所述的层分类有关的相反方向的层分类计数器I计数1都置“O”。
然后,流程进入步骤308,在此,用于标示水平方向扫描地址的计数器I置“O”,在其后的步骤310中计数器I加1。在步骤312,计数器I和水平方向上的字符图形I尺寸进行比较,如果I大于I尺寸,那么,由于这表示通用地址J的扫描行的扫描完成了,流程在完成作为后文所述的层分类子流程的程序11后回到步骤302,从而进到下一扫描行的扫描。在步骤312,如果I被确定为等于或小于I尺寸,则就要检查输入的字符图形的地址(I,J)的数据图象(I,J)是否为“O”,如果不是O,由于其象素为黑象素(数据为“1”),流程就进入步骤320,此处,编码9作为数据Imag-code(I,J)被写入与所指定的定向码中的字符图形相应存贮区内的对应地址;如果Image(I,J)的数据为“0”(白象素),那么流程进入步骤316,此处在重要象素的周围的右象素(A),上象素(B),左象素(C)及下象素(D)的数据从输入的字符图形存贮区域中读出,以此对IV=A+2B+C+8D计算。
此后,流程进入下一步骤318,此处,定向码图表中的存贮区数据码-tb1(IV)作为地址信息与IV同时读出,而该数据(定向码)作为数据码tb1被写入指定的定向码中的字符图形存贮区的对应地址内,然后,流程在完成作为层分类的程序10后回至步骤310。此后,对下一个扫描行进行扫描。在整个的水平扫描完成时,步骤304的条件得到满足,故结束方向流程,而进行作为层分类流程的程序1。
应注意的是在图8中示出了十个不同的定向码及其有关的象素图形。如图所示,每个有关的象素图形都由5个象素组成,即包括有一个重要象素的中心象素,一对上下象素及一对左右象素。在图8的图表中表示了位于每个图形中心的重要象素是一个白象素,而且该重要象素与沿字符图形轮廓定位的每个白象素进行比较,并且通过与图8中的图表内的象素图形进行比较后,对每个白色轮廓象素指定对应的定向码,应注意的是有效的定向码是从1到8。
现在,将对层分类流程进行详细描述,按照该层分类流程的原理,指定定向码的字符图形先被从上到下垂直地进行扫描,接着再被从左至右进行水平扫描,然后从相反的方向再进一步扫描。在每一条扫描行中,在一个或多个白色象素(O)之后出现的定向码被检测出来。如果这样检出的定向码是在扫描行中检出的第一个定向码的话,那么它就被分类到第一层中;另一方面,如果检出的方向码是在扫描行中检出的第二个方向码,那么它就被分入第二层,用这种方法沿一条扫描行检出的所有的方向码都依照沿一条扫描行检测的次序被分类到不同的层上。这种层分类方法公开在申请号为59-22822的日本专利申请中,它一直被限定为该申请以及结合的申请受让人的专有权。然而,应注意的是,本发明的实施例与上述提到的专利申请中公开的层分类规则系统稍有差别。因为,在本实施例中,定向码的种类或类型是用于分类至各层的,以此,提高了层分类流程的效率。另外还要注意的是,在本发明的实施例中,对于检出的定向码的分类只有两层。
在步骤318之后调用程序10,在程序10的第一步骤330处,指定了定向码的字符图形存贮区中的数据Img-code(I,J)传送到寄存器IH。然后,在下一步骤332,检测在寄存器IH中的数据是否为“1”到“8”的有效的定向码。如果不是一个有效的定向码(即码为“0”或“9”),那么,流程就回到步骤310。相反,如果是一个有效的定向码,那么流程就进入步骤334以将计数器ITOTAL增加“1”,之后流程进入步骤336,在此,在水平方向上的水平定向码数列计数器LINE(1,I)和垂直定向码数列LINE(2,J)都增加“1”,然后,流程进入步骤338以检测其定向码(IH)的种类。如果定向码为“2”或“4”,那么流程进到返回步骤。另一方面,如果定向码为“1”、“5”、或“8”,则流程进入步骤340,此处层分类计数器Icount加1,然后在下一步骤342,检测计数计的数是否等于或小于“2”,如果不是等于或小于“2”,则流程立即返回到主程序(因为在本实施例中,进行层分类一直进行到第二层),如果等于或小于“2”,则流程进入步骤344,以便将1写入由层分类计数器Icount表示的层的层分类特征位Layer-flg(I,J,Icount)中,然后,流程进入返回步骤。
如果从寄存器IH读出的定向码是“3”,“6”,或“7”,则流程就进入步骤346,结果,用于从上至下的垂直扫描和从右至左的水平扫描的反向层分类计数器Icount1就加1,那么,在下一步骤348,层特征位堆栈Istack(1)的内容就被写入反向层特征位堆栈Istock(2),然后,流程进入步骤350,此处地址计数器I的数值被写入层特征位堆栈Istock(1)中,则流程进入返回步骤。每次定向码指定流程完成一个扫描行时,都要进入程序11。在该程序中,在步骤352检测反向层分类计数器Icount1的数值,如果该数值为“0”,则流程立即进入返回步骤。然而,如果该数值等于或大于“2”,那么在步骤354,就在与正常方向层分类特征位堆栈Istock(1)相对应的第二层特征位Layer-flg(Istock(2)J,2)中置入“1”,此后流程进入返回步骤。如果反向层分类计数器Icount1的数值为1,则流程就跳过步骤354而进入356,再进入返回步骤。
以此方法,执行在水平方向扫描的层分类流程。而在垂直方向扫描的层分类流程是通过程序1完成的。在程序1中,地址计数器I在步骤360中置“0”后,实际的层分类流程就起动了。亦即在步骤362,地址计数器I加1,然后其余数值与字符图形在水平方向上的尺寸Isize进行比较,如果I大于Isize,则流程就被确定,且进入用于格网区域子部分和直方图结构的程序2;相反,如果I不大于Isize,流程进入步骤366,此处,用于从上至下(正向)扫描方向的层分类计数器Icount和用于从下至上(反向)扫描方向的层分类计数器Icount1都置“0”。
在步骤370,地址计数器J置“0”,而在下一步骤370,地址计数器加1。在步骤372,地址计数器J的值与垂直方向的字符图形的垂直尺寸Jsize进行比较,如果J等于或小于Jsize,那么在指定的定向码字符图形存贮区域中的存贮数据Img-Code(I,J)被读出以输入到寄存器IH。在步骤376,检测寄存器IH的数据(定向码)的种类。如果该数据为“0”,“1”,“3”,或“9”则流程回到步骤370。另一方面,如果该数据是“4”,“7”,或“8”,则流程进入378,结果层分类计数器Icount加“1”,然后,在下一个步骤380,检测该计数器的数值是否等于或小于“2”。如果不等于或小于“2”,则流程回到步骤370(因为在实施例中执行层分类到第二层),相反,如果等于或小于“2”,则流程进入步骤380,在此“1”被写入由层分类计数器Icount表示的层分类特征位Layer-flg(I,J,Icount)中,此后,流程回到步骤370。
如果从寄存器IH中读出的定向码为“2”,“5”或“6”,则流程进入步骤384,此处,反向层分类计数器Icount1加“1”。然后,在下一步骤386,层特征位堆栈Istack(1)的内容被写入反向层特征位堆栈Istock(2)。然后,流程进入步骤388,此处,地址寄存器I的值被写入层特征位堆栈Istack(1)中,而此后,流程回到步骤370。当每次在垂直方向上的一个扫描行的层分类流程完成时,步骤372的条件得到满足,故流程进入步骤390,在步骤390,检测反向层分类计数器Icount1的计数,如果该计数为“0”,则流程立即返回步骤362,从而执行下一个扫描行的流程。另一方面,如果计数器等于或大于“2”,则流程进入步骤392,此处,“1”放在与反向层特征位堆栈Istack(2)之值相对应的第二层的层分类特征位Layer-flg(Istack(2),j,2)中。然后,在步骤394,在与正向层特征位堆栈Istock(1)之值相对应的第一层的层分类特征位Layer-flg(Istack(1)j,1)中放入“1”。此后,流程回到步骤362。如果反向层分类计数器Icount1之值为“1”,则跳过步骤392而进入步骤394,然后回到步骤362。
用此方法,执行对于在垂直方向扫描的层分类流程。该流程完成时,步骤364的条件得到满足,结果流程进入用于格网区域子部分和矩形结构的程序2。程序2的步骤402至434确定了用于把字符图形细分为多个子区域的子部分流程。这样,指定的定向码实质上就均匀地分布于子区域中。图9是用于解释将字符图形细分为第一多元子区域和组合的子部分流程或按预定的规则至少将某些子区域组合的办法把第一多元子区域转换为第二多元格网区域的组合流程的说明图。
首先,将把字符图形水平地和垂直地分成子区域的子部分Idev数值以及垂直方向和水平方向下的格网部分Imes的数值在步骤400中确定。在本实施例中,由于Idev=5,字符区域就分成为5×5=25个子区域,另外,由于Imes=2,子区域就部分地组合而确定为2×2=4个格网区域。应注意的是,字符图形设定为具有64×64个象素的模式。
在步骤402,计数器I清“0”,然后,在下一步骤404,计数器I加“1”,之后,就要检测计数器I的计数是否等于Idev(在水平方向和垂直方向的子部分值),如果不等于,则流程进入408。在步骤408对(ITOTAL×I)/Idev进行计算,并将计算值写入寄存器ITO(1)。此处,ITOTAL(定向码数值计数器ITOTAL的计数)表示被指定到该流程上的字符图形的定向码的总数值。在达到I=Idev=5的条件之前包括步骤404至408的环路一直重复着。此处,寄存器ITO(I)之值表示出定向码的数值,该定向码是包含于字符图形的左边(或右边)及第I个子部分区域在水平方向上(或垂直方向上)的右边(或下边)之间的。
如果达到I=5的条件,则起动步骤410。在步骤410,寄存器IT1和JT1都清“0”。在下一步骤412,寄存器IT(1)和JT(1)都置“1”,然后,在步骤414,寄存器IT(6)和JT(6)输入“64”(字符尺寸),然后,在步骤416计数器I和J输入“2”,而计数器K清“0”。从步骤416至步骤434,对用于在水平方向和垂直方向上将字符图形细分为第一多元子区域的字符图形细分位置座标进行确定。在步骤418,计数器K加“1”,而在下一步骤420检测计数器K的计数是否已达到了数值64。如果K还未达到数值64,则流程进入步骤422。在步骤422指定了方向码的字符图形就被沿着一条水平座标等于K的垂直直线进行扫描,由此在该垂直扫描线上的定向码Line(1,K)的数值被加至寄存器IT1的值中,并将所加之值输入寄存器IT1内。另外,字符图形也被沿着一条垂直座标等于K的水平线进行扫描,由此,在该水平扫描线上的定向码Line(2,K)的数值被加至寄存器JT1的值内,且将所加之值输入寄存器JT1。
在下一步骤424,寄存器IT1之值与寄存器ITO(I)之值进行比较,若前者大于后者,流程进入步骤426,此处,计数器K的值输入到用作在水平方向上细分位置座标的寄存器IT(1)中。然后,在步骤428,计数器I增值,接着进入步骤430。在步骤424,如果IT1等于或小于ITO(I)这一条件不满足,就跳过步骤426和428。在步骤430,寄存器JT1的值与寄存器IJO(J)之值进行比较,如果前者大于后者,流程就进入步骤432,在此,计数器K的计数输入到用于在垂直方向上的细分位置座标的寄存器JT(J)内。然后进入步骤432,在此计数器J增值,之后回到步骤418。
用这种方法,在由寄存器IT(2)至IT(5)所表示的位置上沿水平方向把字符图形分为五个垂直部分,进而在由寄存器JT(2)至JT(5)所表示的位置上沿垂直方向再分成五个水平部分。结果,字符图形首先被分成了如图9中点线所示的A至Y的第一多元(在本例中为5×5=25)子区域。当将此细分成子区域的过程完成时,自计数器K的计数达到64时,流程就从步骤420进入步骤436。步骤436至450确定了一个按照预定规则积分或至少组合某些子区域的流程,从而将第一多元子区域转换成第二多元(本例中为2×2=4)格网区域。
在步骤436,水平细分(或称子部分)量计数器N清“0”,而流程进入步骤438,在此计数器N加“1”。在步骤440,计数器N的计数与水平或垂直格网区域细分量Imes(在本例中为2)进行比较,结果是,如果发现N等于或小于Imes,流程就进入步骤424,在此,对应于IW×(N-1)+1的水平细分座标(即由对子区域细分流程决定的座标)输入寄存器IP1。另外,对应于IW×N+2的水平细分位置座标(即由对子区域的细分流程决定的座标)输入到寄存器IP2。此处,应注意的是IW=(Idew+Imes-1)/Imes-1。还应注意的是要使选择满足Idev=C×Imes+1(C=1,2,3……)的条件。
然后,在步骤444,用于垂直方向上的分度值的计数器M清“0”。在步骤446,计数器M加“1”,然后在步骤448,计数器M的计数与Imes进行比较。如果M等于或小于Imes,那么流程就进入步骤450,在此,对应于IW×(M-1)+1的垂直分度位置座标(即由对子区域细分流程决定的座标)输入寄存器JP1。另外,对应于IW×M+2的水平分度位置座标(即由对子区域细分流程决定的座标)输入到寄存器JP2,结果,就确定了一个格网区域,而且,它的始点座标(即如此决定的格网区域的左上角)是由寄存器IP1和JP1的内容来确定的,而它的终点座标(即如此确定的格网区域的右下角)就由寄存器IP2和JP2予以确定。
对于如此确定的单一格网区域,定向码的直方图就由程序4形成。当该流程完成时,流程返回步骤446,然后对在相同水平位置上的下一个格网区域进行确定。当在相同水平位置上的所有格网区域的确定和定向码直方图结构的形成完成时,在步骤448满足M大于Imes的条件,则流程回到步骤438,从而对在水平方向上移动了一个格网区域的另一个格网进行确定的流程进行启动,当所有的格网区域的确定完成时,在步骤440N大于Imes的条件得到满足,故流程终止。
按此方法,子区域被组合或部分地结合成如图9实线所示的2×2格网区域。即,字符图形终究被分成为2×2格网区域。从图9可见,子区域A,B,C,F,G,H,K,L和M被组合成格网区域1;子区域C,D,E,H,I,J,M,N和O结合为格网区域2,子区域K,L,M,P,Q,R,U,V和W组合成格网区域3,而子区域M,N,O,R,S,T,W,X和Y组合成格网区域4。而且,在两个相邻的格网区域之间的公共子区域确定一个重叠部分,在已说明的实施例中重叠部位由子区域C,H,M,R,W,K,L,N和O确定。
按此方法,至少将某些细分的字符图形确定的子区域适当地结合,形成了格网区域,这样,指定的定向码(特征参数)就均匀地分布于子区域内。格网区域的叠加部分也由那些经选择的子区域组成,而其变化依赖于字符图形畸变的方式和程度。结果,作为与无叠加部分的情况和有叠加部分的情况的比较,由字符图形畸变的方式和程度的变动可以被可靠地吸收,从而能稳定地处理字符图形的特征参数。
所谓的多层定向直方图法对克服字符图形失真有实质效果,并能获得对失真的字符的具有最小程序库容量的高识别率。例如,手写汉字。然而,按照本实施例,由于字符图形被最后分为如上所述的格网区域,特征参数的处理就稳定了,从而进一步增强了对字符畸变的操作效能。这样,如在本实施例中,既使是在第二层的特征提取仍可达到一个高的识别率,因此,程序库容量可以进一步降低。
依照程序4的定向码直方图的结构处理将在下文详述。在该程序4中,对重要的格网区域扫描,通过对每个格网区域,每个定向码和每一层的一个矩形图计数器增值的办法,将已经确立的第一层或第二层的层分类特征位的象素定向码形成重要的格网区域的层分类定向码直方图。
首先,在步骤460,寄存器JP1之值,(即重要格网区域的左上角的垂直座标)置入寄存器J。然后,在步骤464,寄存器JP2之值(即重要格网区域的右下角的垂直座标)与寄存器J之值进行比较,如果J等于或小于JP2,则进入步骤466,在步骤466,寄存器JP1之值(即重要格网区域的左上角的水平座标)输入到寄存器I。随后在步骤468,寄存器IP之值(即重要格网区域的右下角的水平座标)与寄存器I之值比较。如果I等于或小于IP2,则进入步骤470,在步骤470,检测第一层的层分类特征位Layer-flg(I,J,1)是否置“1”,如果置“1”,由于寄存器I和J确定的象素所指定的定向码属于第一层,则执行步骤472。另一方面,若未置“1”,则跳过步骤472而进到步骤474。
在步骤472,在存贮器上确定特殊地址的每个格网区域和每个定向码的第一层直方图计数器IHIST(IDP1)增值,此时IIPO1是直方图计数器的识别数字(与某地址对应)它由下式确定IDP1=32(M-1)+8(N-1)+1H此处,M为前述的计数器之值,即水平方向格网区域数,而N是前述的计数器N之值,即垂直方向上的格网区域数。另外,IH为前述的寄存器IH的一个数据,即定向码。在步骤274检测第二层的层分类特征位Layer-flg(I,J,2)是否被置入?如果置入了,由于寄存器I和J的标示的象素定向码属于第二层,则执行步骤276,反之,如果未置入,则跳过步骤476而进入步骤478。
在步骤476,与重要的格网区域相对应的每个定向码的第二层直方图计数器IHIST(IDP2)增值。此处,直方图计数器的识别数IDP2(与某地址对应)由下式确定,IDP2=128+32(M-1)+8(N-1)+IH随后,在步骤478,寄存器I增值以将扫描位置往下移动一个步骤,然后回到步骤468。
当时这个重要格网区域的下端的处理完成时,满足了步骤468的条件,故进到步骤480。在步骤480,寄存器J增值以将扫描位置在水平方向上移动一个象素。然后回到步骤464。当对整个重要的格网区域的处理完成时,满足了步骤464的条件,故流程移出程序4并回到用于格网区域的确定的程序3的步骤446,用该方法,对于每个格网区域都形成了用于第一层和第二层中的每一个方向码直方图。
现在,利用如此获得的层分类定向码直方图作为分量,输入字符图形的特征向量被提取并随后加到匹配单元16,在匹配单元16中,实现与存贮在程序库17中的数据匹配。例如通过计算输入字符图形和每个存贮在每层中的程序库中已存贮的已知字符图形之间的距离实现匹配。然后,存贮在程序库中的某个具有最小计算距离的已知字符图形的编码就加到输出单元18以作为对输入字符图形的识别结果。
利用所谓的多层定向码直方图方法的本发明的这方面的另一个实施例将予以叙述。例如,作为另一个实施例,在将第一多元子区域转换为第二多元格网区域时,可以按照一个由参数确定的规则来执行。即,假设将字符图形在水平或垂直方向进行细分的细分数以及将字符图形在水平或垂直方向上分为格网区域分度的字分别为5和2,则分别给定如下的参数以确定一个集合规则
n1=m1=1n12=m12=0n2=m2=2n23=m23=1n3=m3=2n34=m34=0n4=m4=1还假设字符图形已被细分成了如图9的点线所示的子区域。
在这种情况下,子区域的集合或结合过程将以如下方法的定测执行。来自字符图形左边的水平细分区域(子区域A,F,K,P和U)的n1(=1)数值作为第一水平集合细分区域,将座标对IT(1)和IT(2)写入格网区域图表中。然后,来自利用细分区域n12值的细分位置座标IT(2)之前的细分位置座标的水平细分区域的数值n2作为第二水平集合的细分区域。此处,n12=0,n2=2,故子区域B,G,L,Q,V,C,H,M,R和W被确定为第二水平集合细分区域。这些区域并未与第一区域重叠。而座标对IT(2)和IT(4)被写入格网区域图表之中。
然后,来自利用细分区域n23数的细分位置座标IT(4)之前的细分位置座标的水平细分区域的数字n3作为第三水平集合细分区域。此处n23=1,n3=2,故子区域C,H,M,R,W,D,I,N,S和X就确定为第三水平集合细分区域,它们与第二水平细分区域相重叠。座标对IT(3)和IT(5)就写入了格网区域图表中。类似地,余下的子区域E,J,O,T和Y被确定为第四水平集合细分区域,座标对IT(2)和IT(6)写入了格网区域图表中。
在垂直方向上执行一个类似的集合操作,这样,座标对JT(1)和JT(2),JT(2)和JT(4),JT(3)和JT(5),JT(5)和JT(6)分别写入了格网区域图表中。用这种方法,格网区域1至10的细分位置信息提被送给了格网区域图表,以这些信息为基础,子区域被适当地集合,至少是部分地确定了如图9中实线所示的格网区域1至4。用这种方法,在由这些参数确定集合规则时,就能对集合成每个格网区域的子区域数值和确定两个相邻格网区域之间的重叠部分的子区域的数值进行优良的控制。另外,也能对每个字符种类指定其集合规则。
应该注意的是,在上述实施例中,特征提取一直执行到第二层上,然而,总地说来,其构成可以进行特征提取到第N层,此处N为正整数。在这种情况下,其构成可以确定作为对每个字符所计算的匹配距离的层数。另外,它也可以构成从第一层至第M层的每一层提取特征,和从第(M+1)层至第N层的各层中提取特征。还应注意的是匹配计算可以在按标准偏移或变化的幅度的顺序重新排列所提取的特征向量之后进行。
以上提供本发明优选实施例的全面和完整的公开发明,可以不背离本发明的实质精神和范围而使用各种改型,其它结构和等效发明,因而,以上叙述和图形不应构成对由附属权利要求
确定的本发明的范围的限制。
权利要求
1.一字符图形的细分方法包含的步骤有将一字符图形细分为第一多元子区域;通过合并至少某些所说的子区域,将所说的第一多元子区域转变为第二多元格网区域,从而,将一字符图形最终细分成为所说的第二多元格网区域。
2.如权利要求
1所述的方法,其中所说的第二多元格网区域在数目上少于第一多元子区域。
3.如权利要求
2所述的方法,其中所说的字符图形具有按予定规则被指定到确定所说的字符图形轮廓象素的一个多元予定特征量,每个特征量对应一个所说的轮廓象素。
4.如权利要求
3所述的方法,其中所说的细分步骤的完成是使所说的予定特征量实质上在所说的整个子区域上均匀分布。
5.如权利要求
4所述的方法,其中所说的予定特征量是定向码,而每一定向码都有一个随围绕在重要象素四周的予定数目的周围象素的排列而定的独特码。
6.如权利要求
5所述的方法,其中所说的每个定向码都对应着一种包括有一个重要象素的五个象素的特定排列,一对“上”和“下”象素分别置于重要象素的上部和下部,一对“左”和“右”象素分别置于重要象素的左边和右边。
7.如权利要求
1所述的方法,其中所说的第二多元格网区域中的至少两个相邻区域有一共同的重叠部分。
8.如权利要求
7所述的方法,其中所说的重叠部分是由一个或多个所说的第一多元子区域所确定的。
9.如权利要求
1所述的方法,其中所说的字符图形位于一个字符帧内,该字符帧是由间隔开第一予定距离的第一对平行水平线和间隔开第二予定距离的第二对平行垂直线确定的,其中所说的第一多元子区域是由第三多元水平线和第四多元垂直线确定的,第三多元水平线位于所说的第一对平行水平线之间且与之平行,第四多元垂直线位于所说的第二对平行垂直线之间且与之平行,以使所说的每个第一多元子区域具有矩形或正方形的形状。
10.一字符图形的识别方法包含的步骤有将一原始图象进行光学地读出以产生一图象信号;从所说的图象信号产生一个独特的输入字符图形;从所说的输入字符图形提取一予定的特征向量,该提取步骤包括有将所说的输入字符图形细分成第一多元子区域,通过至少将某些所说的第一多元子区域合并成为一个或多个格网区域而将所说的第一多元子区域转变成为第二多元格网区域,对于各个格网区域形成一个特征直方图以确定所说的输入字符图形的特征向量;将所说的输入字符图形的特征向量与存贮于程序库中的已知字符图形的特征向量相比较,由此从所说的多元已知字符图形中选择出与输入字符图形最为接近的一个,从而确定所说的输入字符图形的标识。
11.如权利要求
10所述的方法,其中所说的提取步骤还包括对每个确定输入图形轮廓的象素指定一个多元予定定向码,将所说的字符图形细分为所说的第一多元子区域,以使所指定的定向码实质上均匀地分布在所说的第一多元子区域上。
12.如权利要求
11所述的方法,其中所述的每个多元定向码与包括一个重要中心象素的予定数量象素的特定排列相对应,第一对“上”“下”象素分别位于所说的重要中心象素的上部和下部,第二对“左”“右”象素分别位于所说的重要中心象素的左边和右边。
13.如权利要求
11所述的方法,其中所说的提取步骤还包括利用扫描具有将所说的字符图形细分为第一多元子区域之前被指定到轮廓象素的定向码的字符图形的方法,将所说的指定的定向码分类成一予定的层数。
14.如权利要求
13所述的方法,其中所说的字符图形的扫描首先是在第一直线方向进行,然后在与第一直线垂直的第二直线方向上,此后再沿第一直线和第二直线的相反方向,从而在每一扫描期间检测出的定向码按照对每一层的检测顺序被分类到予定的层数上。
15.如权利要求
10所述的方法,其中所说的第二多元格网区域中的至少两个相邻区域有一个由选定的一个或多个第一多元子区域确定的共同重叠区域。
专利摘要
一种字符识别方法包括有对每个确定字符图形轮廓的象素指定一多元预定定向码的步骤。而后,已经指定有定向码字符图形被细分成多元格网区域,在该情况中,按照本发明,字符图形并不直接细分成格网区域,而是将字符图形先细分成第一多元子区域,然后再将第一多元子区域中至少部分区域结合,将第一多元子区域转变成数目上少于第一多元子区域的第二多元子区域。这种字符图形的两步细分过程在吸收如手写字符的字符图形变形所引起的波动是先进的。
文档编号G06K9/48GK87105416SQ87105416
公开日1988年1月20日 申请日期1987年7月3日
发明者立川道义 申请人:株式会社理光导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1