[发明专利]印刷体阿拉伯字符集文本切分方法有效
申请号: | 200510086478.1 | 申请日: | 2005-09-23 |
公开(公告)号: | CN1741035A | 公开(公告)日: | 2006-03-01 |
发明(设计)人: | 丁晓春;靳简明;王华;彭良瑞;刘长松;方驰 | 申请(专利权)人: | 清华大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 印刷体阿拉伯字符集文本切分方法属于光学字符识别中的字符切分领域。本发明特征在于:在字符块分类的基础上,选择部分字符块水平投影分割文本图像成子区域,然后检测多行子区域归并字符块实现多行子区域的文字行切分;随后估计文字行的基线和顶线位置,并把文字行切分成联体字符段;最后根据字符切点的特点寻找在基线上、基线上方及基线下方的切点,并且利用结构规则删除过切分点。本发明在多字体多字号印刷体阿拉伯文本测试集上的字符切分正确率达到99%以上。 | ||
搜索关键词: | 印刷体 阿拉伯 字符集 文本 切分 方法 | ||
【主权项】:
1.印刷体阿拉伯文字符集文本切分的方法,其特征在于:首先在字符块分类的基础上,先选择部分字符块水平投影把输入文本图像分割成子区域,然后检测多行子区域归并字符块实现多行子区域的文字行切分;然后估计文字行的基线和头线位置;随后把文字行切分成联体字符段;最后根据字符切点的特点寻找在基线上的切点,在基线上方的切点及在基线下方的切点;在由图像采集设备和计算机组成的系统中,该方法依次含有以下步骤:第1步,文字行切分令I表示输入的文本图像,H是I的高度,W是I的宽度,字符块C的左边界、上边界、右边界、下边界、宽度和高度分别表示为l、t、r、b、w和h,附加了各种上下标的C表示特定的字符块(例如CnB,C(line)等),附加了相同上下标的l、t、r、b、w和h分别表示该字符块的左边界、上边界、右边界、下边界、宽度和高度(例如hnB,r(line)等);第1.1步,字符块分类根据高度和宽度信息,把输入文本图像I上所有的字符块{CnB|nB=1,2,...,nBlock}分成三类:其中 是所有字符块的平均高度;第1.2步,子区域切分对MIDDLE类字符块水平投影,水平投影值为0的位置把文本区域分割成多个子区域,每个子区域包含一条或多条文字行;第1.3步,多行子区域检测对每个子区域求出所有水平重叠、竖直不重叠的MIDDLE类字符块组CC={(CI,CJ|XOL(CI,CJ)>0,YOL(CI,CJ)=0,CI∈MIDDLE,CJ∈MIDDLE},其中,XOL(CI,CJ)=max(min(rI,rJ)-max(lI,lJ),0),XOL(CI,CJ)表示字符块CI和字符块CJ在水平方向上的重叠长度,YOL(CJ,CJ)=max(min(bI,bJ)-max(tI,tJ),0),YOL(CI,CJ)表示字符块CI,和字符块CJ在竖直方向上的重叠长度;如果‖CC‖>10,就判定该子区域是多行子区域;第1.4步,多行子区域切分按照右边界降序排列多行子区域内部所有的MIDDLE类字符块,按顺序每次取出一个字符块Cn和已经取出的所有字符块C1,C2,...,Cn-1比较,找到竖直方向上重叠最多的字符块CY,即 若Cn和CY竖直重叠部分足够大,即YOL(Cn,CY)>h/2,Cn和CY就属于同一文字行,否则Cn属于新文字行,取出所有字符块后,就得到了多行子区域的文字行切分结果;第1.5步,切分BIG类字符块对于每个字符块CB∈BIG,在文字行L(nL)内寻找字符块C(nL)(nL=1,2,..,nLine),即 其中 NB(nL)表示第nL条文字行内,在CB附近和CB竖直重叠的所有MIDDLE类字符块, HDIS(CNB(nL),CB)表示CNB(nL)和CB之间的水平距离,则C(nL)是在NB(nL)中和CB水平距离最近的字符块;若C(m)和C(m+1)存在,就说明在第m条和m+1条文字行内,在CB附近都存在字符块和CB竖直重叠,也就是说CB跨越了第m条和m+1条文字行,需要在 处切分CB,在所有跨越文字行的位置把CB切分成多个部分,标记每个部分为MIDDLE类,然后分配到相应的文字行;第1.6步,插入SMALL类字符块对于每个字符块CS∈SMALL,计算CS和每条文字行的距离,并把其分配到距离最近的文字行:计算CS和文字行L(nL)的距离的方法如下:寻找满足条件的字符块Cl和Cr,即 其中 则CS和文字行L(nL)的距离为第2步,基线和头线估计当前处理的文字行图像用L表示,HL是L的高度,WL是L的宽度;第2.1步,基线高度估计令 是L中的所有竖直黑像素游程,则 runH=1,2,...,HL,由此可得基线的高度为 第2.2步,基线位置估计把文字行L分成个部分,每个部分的长度为α×H0,α在10~15之间取值,令HP(nP)(y)(y=0,1,...,HL-1)是L只保留第nP部分图像的水平投影结果,那么第nP部分的基线位置为, 其中BTop(nP)和BBtm(nP)分别表示基线的上边界和下边界,这样就可以得到L任意处的基线位置, 其中l(nP)和r(nP)分别是第nP部分的左、右边界;第2.3步,头线位置估计令UL(x)(x=0,1,...,WL-1)是文字行L去除附加部分后的上轮廓,则EL={x|UL(x)<UL(x-1),UL(x)<UL(x+1),1≤x<WL-1},是UL(x)极小点的集合;定义 则可得 再令E′={x|BU(x)<h′,x∈EL},可得 H1就是头线和基线上边界之间的距离;第3步,联体字符段切分每个联体字符段由一个主体部分和若干附加部分组成,被基线穿过的MIDDLE类字符块以及被基线穿过并且在水平方向上不和其他字符块重叠的SMALL类是联体字符段的主体部分,剩余的SMALL类字符块则属于联体字符段的附加部分;对每个属于联体字符段附加部分的SMALL类字符块CS搜索最近的属于联体字符段主体部分的字符块CM,则CS和CM是同一个联体字符段的附加部分和主体部分,CS和CM 的距离定义为DIS(CS,CM)=|lS+rS-lM-rM|;第4步,字符切分当前处理的联体字符段的图像用户表示,HP是P的高度,WP是P的宽度;第4.1步,在基线上的候选切点在基线上的切点处满足如下情形之一:(A)游程数目改变:字符左边界,竖直游程数目从1增加到2以上;字符右边界,竖直游程数目从2以上减少为1;(B)游程数目不变,但长度发生较大变化:字符左边界,上轮廓和/或下轮廓的位置远离基线区域;字符右边界,上轮廓和/或下轮廓的位置回归基线区域;(C)游程数目不变,上轮廓位置逐渐变化,导致上轮廓位置累积发生较大变化:字符左边界,上轮廓位置逐渐远离基线区域;字符右边界,上轮廓位置逐渐回归基线区域;定义函数D(x)描述P的上、下轮廓和基线之间的距离,D(x)=max(BTop(x)-UP(x),0)+max(VP(x)-BBtm(x),0),x=0,1,...,WP-1,其中UP(x)和VP(x)分别是P去除附加部分后的上轮廓和下轮廓;在基线上的候选切点xO满足下述条件(1)和(2)或者条件(1)和(3),条件(1)(2)(3)各式中的“+”运算和“-”运算分别对应字符的左侧切点和右侧切点:(1)切点xO在基线上:D(xO)≤2;(2)切点情形(A)或(B):D(xO±1)-D(xO)>1.5×H0;(3)切点情形(C): 其中e满足xO±e∈EP,EP是UP(x)极小点的集合;第4.2步,基线上方的候选切点基线上方的切点xT必须满足如下条件:(1)切点本身是上轮廓的极低点:UP(xT)>UP(xT-1),UP(xT)>UP(xT+1);(2)上轮廓在切点位置处于头线上方:UP(xT)<BTop(xT)-H1;(3)切点左侧下轮廓的最低点在基线的下方: (4)切点右侧下轮廓的最低点在基线的下方: 第4.3步,基线下方的候选切点基线下方的切点XB必须满足如下条件:(1)切点左侧3列上轮廓的最高点TL在基线的上方: (2)切点本身及右侧3列上轮廓的最高点TR在基线的下方: (3)TL和TR高度差大于两倍基线高度:TR-TL>2×H0;第4.4步,检查切点的合法性从右到左依次检查每个切点的合法性,并删除不合法切点,判断依据如下:设xr和xl 是两个相邻的切点,其中xr>xl,若 则删除切点xl;第4.5步,附加部分分配如果附加部分和多个字符的主体部分在水平方向上重叠,则附加部分是粘连的,若该附加部分跨越xR和xL两个相邻切点,则在xR和xL之间附加部分竖直投影值最小处切分附加部分;最后把每个附加部分分配给最近的字符主体部分,附加部分CA和字符主体部分CM的距离计算公式为DIS(CA,CM)=|lA+rA-lM-rM|。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510086478.1/,转载请声明来源钻瓜专利网。