CN100470582C - 印刷蒙古文文本切分方法 - Google Patents

印刷蒙古文文本切分方法 Download PDF

Info

Publication number
CN100470582C
CN100470582C CNB2007100651958A CN200710065195A CN100470582C CN 100470582 C CN100470582 C CN 100470582C CN B2007100651958 A CNB2007100651958 A CN B2007100651958A CN 200710065195 A CN200710065195 A CN 200710065195A CN 100470582 C CN100470582 C CN 100470582C
Authority
CN
China
Prior art keywords
connected component
text line
grapheme
cutting
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2007100651958A
Other languages
English (en)
Other versions
CN101025791A (zh
Inventor
丁晓青
靳简明
彭良瑞
王�华
刘长松
方驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2007100651958A priority Critical patent/CN100470582C/zh
Publication of CN101025791A publication Critical patent/CN101025791A/zh
Application granted granted Critical
Publication of CN100470582C publication Critical patent/CN100470582C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

印刷蒙古文文本切分方法,属于光学字符识别中的字符切分领域。本发明特征在于:在连通体分类的基础上,选择部分连通体竖直投影,分割文本图像成子区域,然后检测多列子区域,归并字符块实现多列子区域的文字列切分;随后把文字列切分成词;接着估计文字列各处的基线位置;最后根据基线位置和词轮廓寻找字素切点,把词切分成字素。本发明在多字体多字号印刷蒙古文文本测试集上的字素切分正确率达到98.5%以上。

Description

印刷蒙古文文本切分方法
技术领域
印刷蒙古文文本切分方法,属于光学字母识别(OCR)中的字母切分领域。
背景技术
蒙古语属阿尔泰语系蒙古语族,是广泛分布在我国内蒙古、新疆、北京、辽宁、黑龙江、吉林、甘肃、青海等省区的蒙古族使用的主要语言。其书面表现形式——传统蒙古文(现行)是以回鹘字母为基础的拼音文字,在形体、写法变化等方面均有独特之处。作为我国的一种主要少数民族文字,蒙古文文本识别在我国有迫切的现实需求和广泛的应用前景。
蒙古文文本的行序为从左到右,行内文字从上到下竖排,以词为单位纵向书写,词与词之间由空格加以分隔。每个词由若干字母组成,每个字母又由若干字素组成,有的字素由主体部分和点状的附加部分组成,词中的字素从上到下通过基线连接。图1列举了蒙古文的部分字母和字素。图2反映了蒙古文文本的部分特征。
一般的蒙古文文本识别系统如图3所示:预处理模块增强输入的文本图像;列切分模块把多列文本区域切分成文字列;词切分模块把一列文字切分成词;基元切分模块把词切分成字母或字素等基本部件;基元识别模块识别切割出来的基元;后处理部分利用词典、语言模型、语言特征等手段,修正识别错误,得到最终文本识别结果。
因为蒙古文文本的字母都在基线处连接,所以蒙古文文本的切分方法和中文、英文等文字的文本切分方法完全不一样,因此设计印刷蒙古文文本切分算法是实现印刷蒙古文文本识别系统的关键。
发明内容
本发明的目的就是要提供一种可靠的多字体多字号印刷蒙古文文本切分的方法。如图4所示:本发明先把印刷蒙古文文本图像切分成列,再把文字列切分成词,然后估计文字列各处的基线位置,最后根据基线位置和词轮廓得到所有的字素切点。根据本发明实现的印刷蒙古文文本切分方法,已经应用于一个印刷蒙古文文本识别系统。
本发明的特征在于通过如下措施把输入的印刷蒙古文文本图像正确切分成单个的字素图像。
1 列切分
列切分的目的是把文本区域切分成连续的文字列。竖直投影是最直接的列切分方法,但是不能处理倾斜文本及列间字母粘连的情况。
为了解决上述问题,本发明提出了如下文字列切分方法(图5):在连通体分类的基础上,选择部分连通体竖直投影,把输入文本图像分割成子区域;然后检测多列子区域,归并连通体,实现多列子区域的文字列切分;最后切割列间粘连的连通体,并根据距离信息把小连通体归入所属文字列。该文字列切分方法不仅能够处理无倾斜的文本,还能够处理倾斜、列间字母存在粘连的文本。
1.1 连通体分类
令I表示输入的文本图像,H是I的高度,W是I的宽度。I上的连通体C表示为
Figure C200710065195D00071
其中C(y,x)=1表示黑像素,C(y,x)=0表示白像素,l、t、r、b、w和h分别表示C的左边界、上边界、右边界、下边界、宽度和高度(图6)。I上所有的连通体BLOCK={CnB|nB=1,2,...,nBlock}。在本发明中,使用附加了上下标的C表示特定的连通体(例如CnB,C(line)等),附加了上下标的l、t、r、b、w和h分别表示特定连通体的左边界、上边界、右边界、下边界、宽度和高度(例如hnB,r(line)等)。
根据高度和宽度信息,可以把所有的连通体分成三类:MIDDLE类是一般的蒙古文的词,宽度比较固定;BIG类包括列间粘连的字母,宽度最宽;SMALL类包括字素的附加部分以及标点等,宽度窄且高度矮。
CnB的类别可以由下式确定,
Figure C200710065195D00072
其中
w ‾ = 1 nBlock Σ nB = 1 nBlock w nB ,
是所有连通体的平均宽度。
1.2 子区域切分
为了去除字素附加部分以及行间粘连字母的影响,只保留MIDDLE类连通体竖直投影。投影值为0的位置把文本区域分割成多个子区域。每个子区域包含一条或多条文字列。
1.3 多列子区域检测
如图7所示,多列子区域一定存在多组竖直交叠、水平不交叠的词,而单列子区域不存在满足上面条件的词组。
因此,在每个子区域内找到所有竖直交叠、水平不交叠的MIDDLE类连通体组
CC={(CI,CJ)|YOL(CI,CJ)>0,XOL(CI,CJ)=0,CI∈MIDDLE,CJ∈MIDDLE}。
其中,
XOL(CI,CJ)=max(min(rI,rJ)-max(lI,lJ),0),
表示CI和CJ在水平方向上的交叠长度,
YOL(CI,CJ)=max(min(bI,bJ)-max(tI,tJ),0),
表示CI和CJ在竖直方向上的交叠长度。
如果‖CC‖>10,就可以判定该子区域是多列子区域。
1.4 多列子区域切分
因为蒙古文文本从上向下书写,所以按照上边界升序排列多列子区域内部所有的MIDDLE类连通体。按顺序每次取出一个连通体,第n次取出的连通体表示为Cn。Cn和已经取出的所有连通体C1,C2,...,Cn-1比较,找到水平方向上交叠最多的连通体CX,即
C X = arg max C i ( XOL ( C n , C i ) ) , i = 1,2 , . . . , n - 1 .
若Cn和CX水平交叠部分足够大,即
XOL(Cn,CX)>w/2,
Cn和CX就属于同一文字列,否则Cn属于新文字列。取出所有连通体后,就得到了多列子区域的文字列切分结果。
1.5 切分BIG类连通体
列间粘连的连通体都需要在跨越文字列处进行切分。如果连通体CB∈BIG跨越了多条文字列,那么在跨越的每条文字列内,在CB附近一定都存在连通体和CB水平交叠。
因此,本发明采用下面的办法切分BIG类连通体:
对于每个CB∈BIG,在文字列L(nL)内寻找连通体C(nL)(nL=1,2,..,nLine),即
C ( nL ) = arg min C NB ( nL ) ( | t B + b B - t NB ( nL ) - b NB ( nL ) | ) , C NB ( nL ) ∈ NB ( nL ) .
其中
NB ( nL ) = { C NB ( nL ) | C NB ( nL ) ∈ L ( nL ) , C NB ( nL ) ∈ MIDDLE ,
VDIS ( C NB ( nL ) , C B ) < w &OverBar; &times; 5 , XOL ( C NB ( nL ) , C B ) > w &OverBar; / 3 } ,
表示第nL条文字列内,在CB附近和CB水平交叠的所有MIDDLE类连通体,
VDIS ( C NB ( nL ) , C B ) = max ( max ( t NB ( nL ) , t B ) - min ( b NB ( nL ) , b B ) , 0 ) ,
表示
Figure C200710065195D00094
和CB之间的竖直距离。这样C(nL)就是在NB(nL)中和CB竖直距离最近的连通体。
若C(m)和C(m+1)存在,就说明CB跨越了第m条和m+1条文字列,需要在
x = r ( m ) + l ( m + 1 ) 2 ,
也就是跨越文字列的地方切分CB
在所有跨越文字列处切分CB,切分得到的每个部分标记为MIDDLE类,并分配到相应的文字列。
1.6 插入SMALL类连通体
对于每个连通体CS∈SMALL,计算CS和每条文字列的距离,并把其分配到距离最近的文字列。计算CS和文字列L(nL)的距离的方法如下:
首先,在L(nL)内CS的上方寻找竖直距离CS最近的MIDDLE类连通体Ct,即
C t = arg min C TB ( nL ) ( t S - t TB ( nL ) ) , C TB ( nL ) &Element; TB ( nL ) ,
其中
TB ( nL ) = { C TB ( nL ) | C TB ( nL ) &Element; L ( nL ) , C TB ( nL ) &Element; MIDDLE , t S > t TB ( nL ) } .
然后,在L(nL)内CS的下方寻找竖直距离CS最近的MIDDLE类连通体Cb,即
C b = arg min C BB ( nL ) ( b BB ( nL ) - b S ) , C BB ( nL ) &Element; BB ( nL ) ,
其中
BB ( nL ) = { C BB ( nL ) | C BB ( nL ) &Element; L ( nL ) , C BB ( nL ) &Element; MIDDLE , b S < b BB ( nL ) } .
那么,CS和文字列L(nL)的距离为
Figure C200710065195D000910
2 词切分
得到文字列后,需要把文字列切分成词。每个词由一个主体部分和若干字素附加部分组成。
符合下面条件的连通体被认为是词的主体部分:竖直方向上不和其他连通体交叠的连通体;竖直方向上和其他连通体交叠,但是宽度足够宽,高度足够高的连通体。
剩余的连通体被认为是字素的附加部分,逐个归并给距离最近的词的主体部分。
3 基线估计
因为蒙古文字母在基线上连接,所以基线定位对于字母切分非常关键。令L表示当前处理的文字列图像,HL是L的高度,WL是L的宽度。
3.1 基线宽度估计
从图2可以看出,L中基线的宽度是相同的。因此,L中出现频率最高的水平黑像素游程的长度就是基线的宽度。
三元组(x(s),x(e),y(se))表示水平黑像素游程,其中x(s)是游程的水平起始位置,x(e)是游程的水平终止位置,y(se)是游程的竖直位置。 HRUN = { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | nR = 1,2 , . . . , nRun } 是L中的所有水平黑像素游程。
L中宽度为runW的水平黑像素游程的数目为
HW ( runW ) = | | { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) &Element; HRUN , x nR ( e ) - x nR ( s ) = runW } | | ,
runW=1,2,...,WL
由此可得基线的宽度为
W 0 = arg max runW ( HW ( runW ) ) , runW = 1,2 , . . . , W L .
3.2 基线位置估计
理想情况下,文字列内所有词的基线都在同一竖直线上。但是实际的扫描文本图像中,文字列通常存在小角度的倾斜或者弯曲形变,导致不同词的基线位置不一定相同。为了解决上述问题,本发明把较长的文字列分成多个较短部分分别估计基线位置,这样就可以认为每个部分内的基线位置是相同的。
把文字列L分成
Figure C200710065195D00104
个部分,每个部分的长度为α×W0。令VP(nP)(x)(x=0,1,...,WL-1)是L只保留第nP部分的图像的竖直投影结果,那么第nP部分的基线位置为,
B Left ( nP ) = arg max x ( &Sigma; k = 0 W 0 - 1 VP ( nP ) ( x + k ) ) , x = 0,1 , . . . , W L - W 0 ,
B Right ( nP ) = B Left ( nP ) + W 0 - 1 ,
其中
Figure C200710065195D00112
分别表示基线的左边界和右边界。在实际系统中,α可以在10~15之间取值。这样就可以得到L任意处的基线的左边界BLeft(y)和右边界ERight(y),
B Left ( y ) = B Left ( nP ) t ( nP ) &le; y < b ( nP ) B Right ( y ) = B Right ( nP ) t ( nP ) &le; y < b ( nP ) ,
其中t(nP)和b(nP)分别是第nP部分的上、下边界。
4 字素切分
字素切分是把词切分成单个字素的过程。令P表示当前处理的词图像,HP是P的高度,WP是P的宽度。如图8所示,本发明根据基线及词轮廓信息,搜索所有可能的候选字素切点,切分并分配字素附加部分。
4.1 字素切点确定
如图9所示,字素切点满足如下条件:
(A)切点在基线上。
(B)切点上方,字母的左轮廓和/或右轮廓远离基线区域。
(C)切点下方,字母的左轮廓和/或右轮廓远离基线区域。
定义代价函数D(x)计算每个位置的切分代价,
D(x)=abs(BLeft(y)-L(y))+abs(BRight(y)-R(y)),y=0,1,...,HP-1,
其中L(y)和R(y)分别是词的左轮廓和右轮廓。则如图9所示,小于W0的D(x)的极小值处都是字素切点。
4.2 附加部分切分及分配
当连续两个字素都拥有附加部分时,附加部分也有可能粘连。如果附加部分和多个字素的主体部分在竖直方向上交叠,则该附加部分是粘连的。若该附加部分跨越字素切点yA,则在yA附近附加部分水平投影值最小处切分附加部分。最后把每个附加部分分配给最近的字素主体部分。
根据本发明实现的蒙古文文本切分算法,已经应用于一个印刷蒙古文文本识别系统。300DPI分辨率扫描的黑白二值蒙古文的报纸和期刊用来测试该系统,识别结果如表1。其中只有40%左右的错误是因为切分错误引起的,也就是说字素切分的准确率在98.5%以上。实验结果表明本发明提出的印刷蒙古文文本切分方法是有效的。
 
字母数目 识别率
 
测试集 111102 96.634%
表1 试验结果
本发明提出的多字体多字号印刷蒙古文文本切分方法在实验中获得了优异的文本切分性能,具有广泛的应用前景。本发明具有以下优点:
第一,本发明提出的列切分方法,不仅能够处理无倾斜的文本,还能处理倾斜角度大,存在列间字母粘连的文本。
第二,本发明提出的基线位置估计方法精度高。
第三,本发明提出的词切分方法,能够处理相邻词在竖直方向交叠的情况。
第四,本发明提出的字素切分方法,字素切点查全率高,伪切点数目少,能够切分粘连的字素附加部分。
附图说明
图1部分蒙古文字母及字素
图2蒙古文文本特点
图3印刷蒙古文文本识别系统结构图
图4主要发明内容的框图
图5列切分流程
图6坐标系及变量说明
图7多列子区域检测
图8字素切分流程
图9字素切点代价函数
具体实施方式
一个印刷蒙古文文本识别系统在硬件上由图像采集设备和计算机两部分构成。图像采集设备一般是扫描仪,用来获取待识别文本的数字图像。计算机用于对数字图像进行处理,完成文本的最终识别。
对于一篇蒙古文文本样张,首先通过扫描仪将其输入计算机,使之变为数字图像。对数字图像采取二值化、去除噪声等预处理措施,得到二值图像。再对输入图像进行列切分得到文字列,然后把文字列切分成词。估计文字列各处的基线位置,在此基础上对每个词进行字素切分,得到单个字素。然后识别每个字素,最后合并字素识别结果为字符。每个阶段的错误可以用手工方式改正。
因此,实现实用的印刷蒙古文文本识别系统,在文本切分方面需要考虑如下四个方面:列切分;词切分;基线位置估计;字素切分。下面分别对这四个方面进行详细介绍:第一,列切分
1.1 连通体分类
根据高度和宽度信息,把文本图像I上的所有连通体{CnB|nB=1,2,...,nBlock}分成三类:
Figure C200710065195D00131
其中
w &OverBar; = 1 nBlock &Sigma; nB = 1 nBlock w nB .
1.2 子区域切分
只保留MIDDLE类连通体竖直投影,投影值为0的位置把文本区域分割成多个子区域。每个子区域包含一条或多条文字列。
1.3 多列子区域检测
对每个子区域得到
CC={(CI,CJ)|YOL(CI,CJ)>0,XOL(CI,CJ)=0,CI∈MIDDLE,CJ∈MIDDLE}。
其中,
XOL(CI,CJ)=max(min(rI,rJ)-max(lI,lJ),0),
YOL(CI,CJ)=max(min(bI,bJ)-max(tI,tJ),0)。
如果‖CC‖>10,就判定该子区域是多列子区域。
1.4 多列子区域切分
按照上边界升序排列多列子区域内部所有的MIDDLE类连通体。按顺序每次取出一个连通体,第n次取出的连通体为Cn,比较Cn和已经取出的C1,C2,...,Cn-1,找到
C X = arg max C i ( XOL ( C n , C i ) ) , i = 1,2 , . . . , n - 1 .
XOL(Cn,CX)>w/2,
Cn和CX就属于同一文字列,否则Cn属于新文字列。所有连通体都取出后,就得到了多列子区域的文字列切分结果。最后把所有文字列按照从左到右的顺序排列。
1.5 切分BIG类连通体
对于每个CB∈EIG,在文字列L(nL)内寻找C(nL)(nL=1,2,..,nLine),即
C ( nL ) = arg min C NB ( nL ) ( | t B + b B - t NB ( nL ) - b NB ( nL ) | ) , C NB ( nL ) &Element; NB ( nL ) .
其中
NB ( nL ) = { C NB ( nL ) | C NB ( nL ) &Element; L ( nL ) , C NB ( nL ) &Element; MIDDLE ,
VDIS ( C NB ( nL ) , C B ) < w &OverBar; &times; 5 , XOL ( C NB ( nL ) , C B ) > w &OverBar; / 3 } ,
VDIS ( C NB ( nL ) , C B ) = max ( max ( t NB ( nL ) , t B ) - min ( b NB ( nL ) , b B ) , 0 ) .
若C(m)和C(m+1)存在,就说明CB跨越了第m条和m+1条文字列,需要在
x = r ( m ) + l ( m + 1 ) 2 ,
处切分CB。在所有跨越文字列的位置把CB切分成多个部分,标记每个部分为MIDDLE类,然后分配到相应的文字列。
1.6 插入SMALL类连通体
对于每个CS∈SMALL,计算CS和每条文字列的距离,并把其分配到距离最近的文字列。
计算CS和文字列L(nL)的距离的方法如下:令,
C t = arg min C TB ( nL ) ( t S - t TB ( nL ) ) , C TB ( nL ) &Element; TB ( nL ) ,
C b = arg min C BB ( nL ) ( b BB ( nL ) - b S ) , C BB ( nL ) &Element; BB ( nL ) ,
其中
TB ( nL ) = { C TB ( nL ) | C TB ( nL ) &Element; L ( nL ) , C TB ( nL ) &Element; MIDDLE , t S > t TB ( nL ) } ,
BB ( nL ) = { C BB ( nL ) | C BB ( nL ) &Element; L ( nL ) , C BB ( nL ) &Element; MIDDLE , b S < b BB ( nL ) } .
则CS和L(nL)的距离为
Figure C200710065195D00148
第二,词切分
每个词由一个主体部分和若干字素附加部分组成。
符合下面条件的连通体是词的主体部分:竖直方向上不和其他连通体交叠的连通体;竖直方向上和其他连通体交叠,但是宽度足够宽,高度足够高的连通体。
剩余的连通体是字素附加部分,逐个归并给距离最近的词的主体部分。
第三,基线估计
令L表示当前处理的文字列图像,HL是L的高度,WL是L的宽度。
3.1 基线宽度估计
HRUN = { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | nR = 1,2 , . . . , nRun } 是L中的所有水平黑像素游程,
HW ( runW ) = | | { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) &Element; HRUN , x nR ( e ) - x nR ( s ) = runW } | | ,
runW=1,2,...,WL
则可得基线的宽度为
W 0 = arg max runW ( HW ( runW ) ) , runW = 1,2 , . . . , W L .
3.2 基线位置估计
把文字列L分成
Figure C200710065195D00153
个部分,每个部分的长度为15×W0。令VP(nP)(x)(x=0,1,...,WL-1)是L只保留第nP部分的图像的竖直投影结果,那么第nP部分的基线的左边界和右边界分别为,
B Left ( nP ) = arg max x ( &Sigma; k = 0 W 0 - 1 VP ( nP ) ( x + k ) ) , x = 0,1 , . . . , W L - W 0 ,
B Right ( nP ) = B Left ( nP ) + W 0 - 1 .
这样就可以得到L任意处的基线左边界BLeft(y)和右边界BRight(y),
B Left ( y ) = B Left ( nP ) t ( nP ) &le; y < b ( nP ) B Right ( y ) = B Right ( nP ) t ( nP ) &le; y < b ( nP ) ,
其中t(nP)和b(nP)分别是第nP部分的上、下边界。
第四,字素切分
令P表示当前处理的词图像,HP是P的高度,WP是P的宽度。
4.1 字素切点确定
定义
D(x)=abs(BLeft(y)-L(y))+abs(BRight(y)-R(y)),y=0,1,...,HP-1,
其中L(y)和R(y)分别是词的左轮廓和右轮廓。则小于W0的D(x)的极小值处都是字素切点。
4.2 附加部分切分及分配
若某附加部分跨越字素切点yA,则在yA附近附加部分水平投影值最小处切分附加部分。最后把每个附加部分分配给最近的字素主体部分。

Claims (1)

1.印刷蒙古文文本切分方法,其特征在于:首先在连通体分类的基础上,先选择部分连通体竖直投影把输入文本图像分割成子区域,然后检测多列子区域,归并连通体实现多列子区域的文字列切分;然后把文字列切分成词;随后估计文字列各处的基线位置;最后根据基线位置以及词轮廓寻找字素切点;在由图像采集设备和计算机组成的系统中,该方法依次含有以下步骤:
第1步,列切分
令I表示输入的文本图像,H是I的高度,W是I的宽度,连通体C的左边界、上边界、右边界、下边界、宽度和高度分别表示为l、t、r、b、w和h,附加了上下标的C表示特定的连通体,附加了上下标的l、t、r、b、w和h分别表示特定连通体的左边界、上边界、右边界、下边界、宽度和高度;
第1.1步,连通体分类
根据高度和宽度信息,把输入文本图像I上所有的连通体{CnB|nB=1,2,...,nBlock}分成三类:
Figure C200710065195C00021
其中
w &OverBar; = 1 nBlock &Sigma; nB = 1 nBlock w nB ,
是所有连通体的平均宽度;
第1.2步,子区域切分
对MIDDLE类连通体竖直投影,投影值为0的位置把文本区域分割成多个子区域,每个子区域包含一条或多条文字列;
第1.3步,多列子区域检测
对每个子区域求出所有水平交叠、竖直不交叠的MIDDLE类连通体组
CC={(CI,CJ)|YOL(CI,CJ)>0,XOL(CI,CJ)=0,CI∈MIDDLE,CJ∈MIDDLE},
其中,
XOL(CI,CJ)=max(min(rI,rJ)-max(lI,lJ),0),
XOL(CI,CJ)表示连通体CI和连通体CJ在水平方向上的交叠长度,
YOL(CI,CJ)=max(min(bI,bJ)-max(tI,tJ),0),
YOL(CI,CJ)表示连通体CI和连通体CJ在竖直方向上的交叠长度;
如果‖CC‖>10,就判定该子区域是多列子区域;
第1.4步,多列子区域切分
按照上边界升序排列多列子区域内部所有的MIDDLE类连通体,按顺序每次取出一个连通体Cn和已经取出的所有连通体C1,C2,...,Cn-1比较,找到水平方向上交叠最多的连通体CX,即
C X = arg max C i ( XOL ( C n , C i ) ) , i = 1,2 , . . . , n - 1 ,
若Cn和CX水平交叠部分足够大,即
XOL(Cn,CX)>w/2,
Cn和CX就属于同一文字列,否则Cn属于新文字列,取出所有连通体后,就得到了多列子区域的文字列切分结果;
第1.5步,切分BIG类连通体
对于每个连通体CB∈BIG,在文字列L(nL)内寻找连通体C(nL)(nL=1,2,..,nLine),即
C ( nL ) = arg min C NB ( nL ) ( | t B + b B - t NB ( nL ) - b NB ( nL ) | ) , C NB ( nL ) &Element; NB ( nL ) ,
其中
NB ( nL ) = { C NB ( nL ) | C NB ( nL ) &Element; L ( nL ) , C NB ( nL ) &Element; MIDDLE ,
      VDIS ( C NB ( nL ) , C B ) < w &OverBar; &times; 5 , XOL ( C NB ( nL ) , C B ) > w &OverBar; / 3 } ,
NB(nL)表示第nL条文字列内,在CB附近和CB水平交叠的所有MIDDLE类连通体,
VDIS ( C NB ( nL ) , C B ) = max ( max ( t NB ( nL ) , t B ) - min ( b NB ( nL ) , b B ) , 0 ) ,
Figure C200710065195C00036
表示
Figure C200710065195C00037
和CB之间的竖直距离,则C(nL)是在NB(nL)中和CB竖直距离最近的连通体;
若C(m)和C(m+1)存在,就说明在第m条和m+1条文字列内,在CB附近都存在连通体和CB水平交叠,也就是说CB跨越了第m条和m+1条文字列,需要在
x = r ( m ) + l ( m + 1 ) 2 ,
处切分CB,在所有跨越文字列的位置把CB切分成多个部分,标记每个部分为MIDDLE类,并分配到相应的文字列;
第1.6步,插入SMALL类连通体
对于每个连通体CS∈SMALL,计算CS和每条文字列的距离,并把其分配到距离最近的文字列:
计算CS和文字列L(nL)的距离的方法如下:寻找满足条件的连通体Ct和Cb,即
C t = arg min C TB ( nL ) ( t S - t TB ( nL ) ) , C TB ( nL ) &Element; TB ( nL ) ,
C b = arg min C BB ( nL ) ( b BB ( nL ) - b S ) , C BB ( nL ) &Element; BB ( nL ) ,
其中
TB ( nL ) = { C TB ( nL ) | C TB ( nL ) &Element; L ( nL ) , C TB ( nL ) &Element; MIDDLE , t S > t TB ( nL ) } ,
BB ( nL ) = { C BB ( nL ) | C BB ( nL ) &Element; L ( nL ) , C BB ( nL ) &Element; MIDDLE , b S < b BB ( nL ) } ,
则CS和文字列L(nL)的距离为
Figure C200710065195C00045
第2步,词切分
每个词由一个主体部分和若干字素附加部分组成,竖直方向上不和其他连通体交叠的连通体是词的主体部分,剩余的连通体则属于字素附加部分;把每个字素附加部分归并给最近的词主体部分;
第3步,基线估计
令L表示当前处理的文字列图像,HL是L的高度,WL是L的宽度;
第3.1步,基线宽度估计
HRUN = { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | nR = 1,2 , . . . , nRun } 是L中的所有水平黑像素游程,则
HW ( run W ) = | | { ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) | ( x nR ( s ) , x nR ( e ) , y nR ( se ) ) &Element; HRUN , x nR ( e ) - x nR ( s ) = run W } | | ,
runW=1,2,...,WL
由此可得基线的宽度为
W 0 = arg max run W ( HW ( runW ) ) , runW = 1,2 , . . . , W L ;
第3.2步,基线位置估计
把文字列L分成
Figure C200710065195C00051
个部分,每个部分的长度为α×W0,α在10~15之间取值,令VP(nP)(x)(x=0,1,...,WL-1)是L只保留第nP部分的图像的竖直投影结果,那么第nP部分的基线位置为,
B Left ( nP ) = arg max x ( &Sigma; k = 0 W 0 - 1 VP ( nP ) ( x + k ) ) , x = 0,1 , . . . , W L - W 0 ,
B Right ( nP ) = B Left ( nP ) + W 0 - 1 ,
其中
Figure C200710065195C00054
分别表示基线的左边界和右边界,这样就可以得到L任意处的基线的左边界BLeft(y)和右边界BRight(y),
B Left ( y ) = B Left ( nP ) t ( nP ) &le; y < b ( nP ) B Right ( y ) = B Right ( nP ) t ( nP ) &le; y < b ( nP ) ,
其中t(nP)和b(nP)分别是第nP部分的上、下边界;
第4步,字素切分
令P表示当前处理的词图像,HP是P的高度,WP是P的宽度;
第4.1步,字素切点确定
字素切点满足如下条件:
(A)切点在基线上;
(B)切点上方,字母的左轮廓和/或右轮廓远离基线区域;
(C)切点下方,字母的左轮廓和/或右轮廓远离基线区域;
定义函数D(x)计算每个位置的切分代价,
D(x)=abs(BLeft(y)-L(y))+abs(BRight(y)-R(y)),y=0,1,...,HP-1,
其中L(y)和R(y)分别是词的左轮廓和右轮廓,则小于W0的D(x)的极小值处都是字素切点;
第4.2步,附加部分切分及分配
如果附加部分和多个字素的主体部分在竖直方向上交叠,则该附加部分是粘连的,若该附加部分跨越字素切点yA,则在yA附近附加部分水平投影值最小处切分附加部分;最后把每个附加部分分配给最近的字素主体部分。
CNB2007100651958A 2007-04-06 2007-04-06 印刷蒙古文文本切分方法 Expired - Fee Related CN100470582C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100651958A CN100470582C (zh) 2007-04-06 2007-04-06 印刷蒙古文文本切分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100651958A CN100470582C (zh) 2007-04-06 2007-04-06 印刷蒙古文文本切分方法

Publications (2)

Publication Number Publication Date
CN101025791A CN101025791A (zh) 2007-08-29
CN100470582C true CN100470582C (zh) 2009-03-18

Family

ID=38744073

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100651958A Expired - Fee Related CN100470582C (zh) 2007-04-06 2007-04-06 印刷蒙古文文本切分方法

Country Status (1)

Country Link
CN (1) CN100470582C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262619A (zh) * 2010-05-31 2011-11-30 汉王科技股份有限公司 文档的文字提取方法和装置
CN102446275B (zh) * 2010-09-30 2014-04-16 汉王科技股份有限公司 阿拉伯文字符的识别方法和装置
CN103377371A (zh) * 2012-04-25 2013-10-30 佳能株式会社 用于改善识别特征的方法和系统和光学字符识别系统
CN104112287B (zh) * 2013-04-17 2017-05-24 北大方正集团有限公司 切分图片中文字的方法和装置
EP3167408B1 (en) * 2014-07-10 2023-12-13 Sanofi-Aventis Deutschland GmbH A device and method for performing optical character recognition
CN108830270B (zh) * 2015-09-29 2021-10-08 大连民族大学 对满文单词正确分割各识别的满文单词中轴线的定位方法
CN107330379B (zh) * 2017-06-13 2020-10-13 内蒙古大学 一种蒙古语手写识别方法和装置
CN108537229B (zh) * 2018-04-24 2020-06-02 大连民族大学 基于满文部件切分的印刷体满文识别方法
CN108564078B (zh) * 2018-04-24 2020-11-13 大连民族大学 提取满文单词图像中轴线的方法
CN111195912B (zh) * 2020-01-08 2021-06-15 杭州未名信科科技有限公司 利用机械臂绘制肖像画的方法、装置、机器人及存储介质
CN113505775B (zh) * 2021-07-15 2024-05-14 大连民族大学 一种基于字符定位的满文单词识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
印刷体蒙古文字识别技术中切分方法的设计与实现. 李伟,高光来,侯宏旭,李振宏.内蒙古大学学报(自然科学版),第34卷第3期. 2003 *
印刷体蒙古文文字识别中常用特征的获取. 李振宏,高光来.微机发展,第13卷第11期. 2003 *

Also Published As

Publication number Publication date
CN101025791A (zh) 2007-08-29

Similar Documents

Publication Publication Date Title
CN100470582C (zh) 印刷蒙古文文本切分方法
CN1332348C (zh) 印刷体阿拉伯字符集文本切分方法
Roy et al. HMM-based Indic handwritten word recognition using zone segmentation
Alaei et al. A new scheme for unconstrained handwritten text-line segmentation
Zahour et al. Arabic hand-written text-line extraction
Boukharouba A new algorithm for skew correction and baseline detection based on the randomized Hough Transform
Tripathy et al. Handwriting segmentation of unconstrained Oriya text
Ayesh et al. A robust line segmentation algorithm for Arabic printed text with diacritics
Din et al. Line and ligature segmentation in printed Urdu document images
Ullah et al. Segmentation of touching Arabic characters in handwritten documents by overlapping set theory and contour tracing
Kiumarsi et al. A hybrid method for text line extraction in handwritten document images
Nguyen et al. A segmentation method of single-and multiple-touching characters in offline handwritten japanese text recognition
Modi et al. Text line detection and segmentation in Handwritten Gurumukhi Scripts
Haji et al. A novel segmentation and skew correction approach for handwritten Malayalam documents
Jindal et al. Segmentation problems and solutions in printed Degraded Gurmukhi Script
Mahmood et al. A novel segmentation technique for urdu type-written text
Sanchez et al. Text line segmentation in images of handwritten historical documents
Cao et al. Robust page segmentation based on smearing and error correction unifying top-down and bottom-up approaches
Razak et al. A real-time line segmentation algorithm for an offline overlapped handwritten Jawi character recognition chip
Nguyen et al. Enhanced character segmentation for format-free Japanese text recognition
Mahmood Arabic & Urdu text segmentation challenges & techniques
Bharathi et al. Improvement of Telugu OCR by segmentation of Touching Characters
Guru et al. A review on offline handwritten script identification
Radzid et al. Text line segmentation for mushaf Al-Quran using hybrid projection based neighbouring properties
Nguyen et al. Semi-incremental recognition of on-line handwritten Japanese text

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090318

Termination date: 20180406