CN109359529B - 长笔段的处理方法和装置 - Google Patents
长笔段的处理方法和装置 Download PDFInfo
- Publication number
- CN109359529B CN109359529B CN201811058581.9A CN201811058581A CN109359529B CN 109359529 B CN109359529 B CN 109359529B CN 201811058581 A CN201811058581 A CN 201811058581A CN 109359529 B CN109359529 B CN 109359529B
- Authority
- CN
- China
- Prior art keywords
- segment
- skeleton
- long
- stroke
- segments
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Abstract
本发明公开了一种长笔段的处理方法和装置。其中,该方法包括:在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,长笔段是指与原始静态汉字的实际书写笔迹路径相一致、不存在细化歧义的骨架笔段,三叉点是指三个长笔段共有的邻接点;预定长度的骨架笔段是在长笔段的阈值范围内的长笔段的一部分;判断部分长笔段是否能够拟合为平滑直线段;将能够拟合为平滑直线段的部分长笔段拟合为一条平滑的直线段。本发明解决了现有技术在汉字笔段消歧过程中无法自动处理笔段歧义畸变的技术问题。
Description
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种长笔段的处理方法和装置。
背景技术
历代书法名家的作品都是静态的;市面上很多的书法字帖也都是静态的。然而,汉字书写的动态过程在书法艺术鉴赏、书写教学等方面意义明显。所以,对静态字帖汉字的书写过程进行动态还原是非常有必要的。
在静态字帖汉字书写过程的动态还原过程需要解决两个关键问题:字帖汉字骨架笔段的提取,以及对骨架笔段序列的消歧和排序。目前,在汉字的骨架笔段提取方面,已经出现很多方法。例如,外围轮廓法、数学形态法、段化法、区域分解法、模糊区域检测法、基于细化的方法、基于距离的方法、基于方向游程长度的方法、基于编码的方法、基于神经元网络的方法等。这些方法基本都是基于印刷体的汉字识别而提出的,因而它们对汉字具有较强的限制,在字符集的容量上、字体字形的视觉效果上都具有很强的约束性。
目前,在对汉字笔段消歧和排序方面研究较少,主要有以下几种方法:第一种,通过定义规则生成汉字的笔顺,并通过计算与标准模板中的笔顺的相似度进行纠正,该方法难以区分相同笔顺的近似字,分辨率不高;第二种,重构数字字符笔迹顺序的方法,通过搜寻最小代价的Hamilton路径来重构书写笔迹,但该方法只能用于数字等复杂程度低的字符集合,并且上述方法均不能适应汉字字形的各种笔画;第三种,针对每一个汉字建立一个笔段消歧规则,该方法不能实现笔段歧义畸变的自动识别和处理,且数据量大、适应性低,对于笔段消歧规则中不包含的歧义无法消除。
针对上述现有技术在汉字笔段消歧中无法自动处理笔段歧义畸变的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种长笔段的处理方法和装置,以至少解决现有技术在汉字笔段消歧过程中无法自动处理笔段歧义畸变的技术问题。
根据本发明实施例的一个方面,提供了一种长笔段的处理方法,包括:在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是,所述三叉点是多个长笔段的交叉点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;判断所述部分长笔段是否能够拟合为平滑直线段;将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
进一步地,所述长笔段的阈值范围是根据所述长笔段的平均长度来确定。
进一步地,在判断所述部分长笔段不能够拟合为平滑直线段的情况下,将不能够拟合为平滑直线段的部分长笔段进行延长。
根据本发明实施例的一个方面,提供了一种长笔段的处理装置,包括:删除模块,用于在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是,所述三叉点是多个长笔段的交叉点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;判断模块,用于判断所述部分长笔段是否能够拟合为平滑直线段;拟合模块,用于将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
进一步地,处理模块,用于在判断所述部分长笔段不能够拟合为平滑直线段的情况下,将不能够拟合为平滑直线段的部分长笔段进行延长
根据本发明实施例的一个方面,提供了一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至3中任意一项所述的方法。
根据本发明实施例的一个方面,提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至3中任意一项所述的方法。
在本发明实施例中,在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是指与原始静态汉字的实际书写笔迹路径相一致、不存在细化歧义的骨架笔段,所述三叉点是指三个长笔段共有的邻接点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;判断所述部分长笔段是否能够拟合为平滑直线段;将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。本实施例解决了现有技术在汉字笔段消歧过程中无法自动处理笔段歧义畸变的技术问题,使得当检测到笔段为长笔段时,可以自动调整长笔段为符合实际笔画要求的笔段(与标准字库中的标准字笔段相对应),使后续的排序等处理更加顺畅,从而保证了逼真的动态还原效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种长笔段的处理方法的流程图;
图2是根据本发明实施例的一种长笔段的处理装置的示意图;
图3是根据本发明实施例的一种可选的字帖汉字的采集结果的示意图;
图4是根据本发明实施例的一种可选的字帖汉字的采集结果的示意图;
图5是根据本发明实施例的字帖汉字图像的二值化结果的示意图;
图6是根据本发明实施例的字帖汉字图像的细化结果的示意图;
图7是根据本发明实施例的汉字骨架中像素点分类的示意图;
图8是根据本发明实施例的提取的骨架笔段的示意图;
图9是根据本发明实施例的骨架笔段分类的示意图;
图10是根据本发明实施例的一种“毛刺判断模块”的流程图;
图11是根据本发明实施例的毛刺类型骨架笔段的识别结果举例的示意图;
图12是根据本发明实施例的“内部短笔段判断模块”的流程图;
图13是根据本发明实施例的三角形法则的第一示意图;
图14是根据本发明实施例的三角形法则的第二示意图;
图15是根据本发明实施例的三角形法则的第三示意图;
图16是根据本发明实施例的三角形法则的第四示意图;
图17是根据本发明实施例的三角形法则的第五示意图;
图18是根据本发明实施例的三角形法则的第六示意图;
图19是根据本发明实施例的内部短笔段类型的示意图;
图20是根据本发明实施例的分组中只包含一条内部短笔段时的处理效果对比图;
图21是根据本发明实施例的分组中包含多条内部短笔段时的处理效果对比图;
图22是根据本发明实施例的坐标系的示意图;
图23是根据本发明实施例的“笔画转折毛刺”消歧处理过程中毛刺及其方向向量示意图;
图24是根据本发明实施例的“笔画转折毛刺”消歧处理过程中骨架笔段端点的示意图;
图25是根据本发明实施例的“笔画转折毛刺”消歧处理过程中连接点的示意图;
图26是根据本发明实施例的“笔画转折毛刺”消歧处理过程中新笔段生成示意图;
图27是根据本发明实施例的“笔画转折毛刺”处理前后对比图;
图28是根据本发明实施例的“笔画粘连毛刺”消歧处理过程中骨架笔段新端点的示意图;
图29是根据本发明实施例的“笔画粘连毛刺”消歧处理过程中关键点的示意图;
图30是根据本发明实施例的“笔画粘连毛刺”消歧处理过程中直线拟合比较的示意图;
图31是根据本发明实施例的“笔画粘连毛刺”消歧处理过程中新笔段生成结果的示意图;
图32是根据本发明实施例的“笔画粘连毛刺”处理前后对比图;
图33是根据本发明实施例的三叉点调整前后的对比图;
图34是根据本发明实施例的“宋”字书写过程动态重现及结果示意图;
图35是根据本发明实施例的标准字“宋”的字形结构信息的示意图;
图36是根据本发明实施例的标准字“宋”的采样点信息的示意图;
图37是根据本发明实施例的“宋”的采集结果的示意图;
图38是根据本发明实施例的二值化算法流程的流程图;
图39是根据本发明实施例的平滑手写字边缘像素的模板的示意图;
图40是根据本发明实施例的“宋”字图像的预处理结果的示意图;
图41是根据本发明实施例的“宋”字的细化骨架结果的示意图;
图42是根据本发明实施例的“宋”字字形骨架提取结果的示意图;
图43是根据本发明实施例的“宋”字骨架笔段分类结果的示意图;
图44是根据本发明实施例的“宋”字内部短笔段组处理示意图;
图45是根据本发明实施例的“宋”字内部短笔段组的处理效果图;
图46是根据本发明实施例的笔画粘连毛刺的处理示意图的示意图;
图47是根据本发明实施例的笔画转折毛刺的处理示意图;
图48是根据本发明实施例的“宋”字中毛刺笔段的处理效果对比的示意图;
图49是根据本发明实施例的“宋”字中长笔段三叉点的处理示意图;
图50是根据本发明实施例的“宋”字长笔段处理效果对比图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种长笔段的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的长笔段的处理方法,如图1所示,该方法包括如下步骤:
步骤S102,在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是指与原始静态汉字的实际书写笔迹路径相一致、不存在细化歧义的骨架笔段,所述三叉点是指三个长笔段共有的邻接点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;
步骤S104,判断所述部分长笔段是否能够拟合为平滑直线段;
步骤S106,将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
将汉字根据端点和转折点拆分为不同的笔段之后,会存在一个问题,一些笔画在其相接的位置,一个笔画被拆分为多个笔段,待到动画还原汉字笔段时也会将同一笔画拆成几段写,不符合书写规则,所以本实施例找到这些相接的长笔段,这些长笔段原本是属于同一个笔画却因为相接被拆分为多个笔段,这些长笔段通常为三个并相接于一个三叉点,通过先删除三叉点周围的适当阈值范围内的一部分长笔段,使得各个长笔段之间区分开,然后把最可能属于同一笔画的长笔段进行连接,也就是把能够拟合为一条平滑直线段的两个长笔画相连接得到一条平滑的直线段。本实施例解决了现有技术在汉字笔段消歧过程中无法自动处理笔段歧义畸变的技术问题,使得当检测到笔段为长笔段时,可以自动调整长笔段为符合实际笔画要求的笔段(与标准字库中的标准字笔段相对应),使后续的排序等处理更加顺畅,从而保证了逼真的动态还原效果。
上述步骤中通过长笔段的阈值控制三叉点周围所删除长笔段的范围,从而保证长笔段的适当调整,在一种可选的实施方式中,所述长笔段的阈值范围是根据所述长笔段的平均长度来确定。
在一种可选的实施方式中,在判断所述部分长笔段不能够拟合为平滑直线段的情况下,将不能够拟合为平滑直线段的部分长笔段进行延长,直至与其他笔段相交为止。
通过上述步骤,可以实现长笔段的优化调整,消除它们在相接点处的骨架变形,使它们能够精确的拟合原始静态汉字书写笔迹的中心线,从而保证了逼真的动态还原效果。
下面结合一个可选的实施方式举例对上述所有步骤进行说明:
一、先采集字帖汉字图像作为需要处理的汉字:使用扫描仪、照相机等图像采集设备,将市面上不同作者、不同字体的字帖汉字转换成为数字图像,以便进行后续处理。从两种汉字字帖中采集的数字图像如图3、4所示。
二、字帖中的汉字图像进行二值化,该步骤的目的是,去除字帖汉字图像中的噪声信息,区分出前景的汉字区域和背景区域。具体操作是,将字帖汉字图像转化为只有黑白两种颜色的二值图像,如图5所示,字帖汉字图像的二值化工作具体包括如下步骤:将字帖汉字图像转换成为灰度图像,去除彩色信息;将灰度图像转换成为二值图像。其中前景色为黑色,表示汉字;对二值图像进行去噪处理。去除图像中的孤立噪点,并使前景汉字的边缘平滑。
三、对二值化后的图像再进行细化,对步骤二中得到的二值图像进行细化操作,从而得到单像素宽度的汉字骨架图像。这里要尽量保证,汉字骨架与二值图像的中心线重合。如图6所示,黑色信息为汉字书写区域,中间的白色线条为汉字骨架图像。
四、骨架笔段的图像提取:
以步骤三的结果为基础,从中提取字帖汉字的骨架笔段。提取字帖汉字骨架笔段的规则可以包含如下两步:
(1)遍历骨架上的所有像素点。对于某一个骨架像素P来讲,进行如下判断:如果在它的8连通区域中其他骨架像素点的数量为2,那么将P标记为骨架笔段的内部点;如果在它的8连通区域中其他骨架像素点的数量不为2,那么将P标记为骨架笔段的端点。如图7所示,它对骨架图像的四个局部区域进行了放大。在局部区域A、B中,黑色像素表示骨架笔段的内部点,斜线阴影像素表示骨架笔段的端点。根据上述规则,可以将步骤4中的骨架图像表示为包含n个骨架笔段的集合S。S的表达形式如下:S={s1,s2,…,sn},其中,si={u,w1,w2,…,wj,…,v},i=1,2,…,n。在这里,u、v来自骨架笔段的端点集,wj为在u、v之间、且彼此依次相邻的内部点。(2)对于上一步得到的骨架笔段,采用如下操作进一步细分:遍历每一个骨架笔段si,找到笔段内部的所有拐点。基于这些拐点,将原有骨架笔段进行切分。如图7中的局部区域C,其中的斜线阴影像素为一个拐点,它会将原来的骨架笔段一分为二。图7中的局部区域D不存在拐点,均为骨架笔段内部点。经过上述两步处理,得到所有的待处理骨架笔段列表。如图8所示,图8显示了对图6处理后的最终结果。其中,阴影圆点表示骨架笔段的所有端点,相邻两个阴影圆点及中间的白色线条部分表示一个骨架笔段。
五、对不同类型的骨架笔段进行消歧处理:
由步骤四得到的骨架笔段与标准字库中的标准字笔段并不一致,这是因为骨架笔段存在如下两个问题:(1)步骤三中的细化操作会使得骨架笔段在笔画相交、转折、交搭处存在畸变;(2)骨架笔段在笔画相接处被过度分割。这两个问题导致骨架笔段过于细碎,无法与标准字笔段建立联系。因此需要进一步消除骨架笔段中的畸变。本步骤对步骤四的输出结果进行处理,具体包括:先对所有骨架笔段进行分类;对每一种类型的骨架笔段,设计处理规则,消除畸变。本步骤的最终目的是,在保证不改变汉字骨架有效信息的前提下,消除骨架笔段中的所有畸变,得到与标准字笔段一致的笔段列表。
I、对上述骨架笔段进行分类包括如下:
本步骤将所有骨架笔段划分为三种类型:毛刺类型、内部短笔段类型、长笔段类型。归类方法如图9所示,图9是一个总体步骤流程图,包含3个模块,其中,“毛刺判断模块”的详细处理算法如图10;“内部段笔段判断模块”的详细处理算法如图11所示。归类方法的具体步骤如下:遍历骨架笔段列表;对于某个待定骨架笔段s来讲,如果它的邻接属性为(0,2)或(2,0),那么将其输入到“毛刺判断模块”;如果它的邻接属性为(2,2),那么将其输入到“内部短笔段判断模块”;如果它的邻接关系为其他情况,那么将其直接标记为“长笔段类型”,其他情况包括:(0,1)(1,0),(0,0)(1,1)(2,1)(1,2)。图9中的“毛刺判断模块”,用于确定骨架笔段s(也指前文中的si只有一个待判断笔段的情况)是否为毛刺类型。其具体流程如图10所示。详细描述如下:如果s满足如下两个条件中的任意一个,那么将其标记为毛刺类型;否则将其标记为长笔段类型。
1)骨架笔段s的长度小于阈值W×α1(W为该汉字笔段平均宽度,α1为[0,1]之间的某个实数)
2)骨架笔段s的长度大于或等于阈值W×α1,但小于阈值W×β1(β1为[1.0,1.5]之间的某个实数);且s的宽度大于阈值W×γ1(γ1为大于1的某个实数)
图11给出了“毛刺判断模块”的识别结果举例。其中,虚线圆圈圈出的骨架笔段被标记为了“毛刺类型”。图9中的“内部短笔段判断模块”用于确定骨架笔段s是否为内部短笔段类型。其具体流程如图12所示。详细描述如下:若骨架笔段s满足如下条件中的任意一个,那么将其标记为内部短笔段类型;否则,将其标记为长笔段类型。
1)骨架笔段s的长度小于阈值W×α2(α2为[0,1]之间的某个实数);
2)骨架笔段s的长度大于或等于阈值W×α2,但小于阈值W×β2(β2为大于1的某个实数);且宽度大于阈值W×γ2(γ2为大于1的某个实数);
3)骨架笔段s与其相邻笔段满足三角形法则;
对于图12中判断是否满足“三角形法则”操作,具体处理方法如下:
1)对于待处理骨架笔段s,假设它的路径长度为Ls。
4)遍历如下三角形:对于步骤二中的二值图像来讲,如果上述所有三角形内部区域的像素均为前景像素(步骤二中的二值图像中黑色的像素区域,也就是字迹内容的区域)那么表示骨架笔段s满足三角形法则;否则表示骨架笔段s不满足三角形法则。
下面结合图对上述三角形法则进行举例说明,如图13所示,待处理骨架笔段s的端点为P、Q,长度为Ls;距离P点的路径长度为Ls的点集为{E1,E2};距离Q点的路径长度为Ls的点集为{E3,E4,E5}。需要遍历的所有三角形为ΔPQE1(如图14所示)、ΔPQE2(如图15所示)、ΔPQE3(如图16所示)、ΔPQE4(如图17所示)、ΔPQE5(如图18所示)。图19给出了“内部短笔段判断模块”的识别结果。其中,虚线圆圈圈出的骨架笔段被标记为了“内部短笔段类型”。
II、对每一种类型的骨架笔段消除畸变包括:
下面先说明处理三种类型骨架笔段的总体思路:
由于上述步骤中“细化”操作存在如下局限性:骨架笔段在相互的邻接处,不能与原有字迹的中心线相吻合,而且偏差严重,使得最终的动态还原效果存在瑕疵,所以在删除“毛刺笔段”和“内部短笔段”之后,继续针对相邻笔段,将存在瑕疵的一小部分(这部分是使用阈值来控制的)也删除掉;然后使用图形学中的参数曲线(也就是Hermit曲线)进行平滑连接。这样就保证了最终的骨架笔段是平滑的、也是与字迹中心线相吻合的。从而保证了逼真的动态还原效果。
(一)对于内部短笔段类型的处理
根据内部短笔段之间的邻接关系,对它们进行分组。分组规则如下:对于内部短笔段si来讲,遍历与其邻接的其他内部短笔段;如果经过一系列深度遍历之后,能够访问到内部短笔段sj,那么si和sj就属于同一组。G是指一组内部短笔段的集合,si和sj是这个集合中的元素。在这个集合中,所有的内部短笔段都是彼此相邻的,所以在G中,内部段笔段的数量可能是1、2、3等等。
对于某个分组G来讲,如果它的元素数量为1,那么处理方法如下:
(1)假设分组G中内部短笔段的长度为LG;假设所有与G相邻的其他骨架笔段集合为(2)对于每一个骨架笔段删除与G相邻、且长度为LG×αG(αG为某个缩放因子)的部分骨架信息;(3)遍历SG中的任意两个骨架笔段和如果它们端点切向量的夹角大于θ(θ为[90,180]之间的某个实数),那么就使用Hermit曲线将它们连接起来,从而合并为一条骨架笔段:(4)将SG中不能合并的骨架笔段,延长至与G相交;
对于某个分组G来讲,如果它的元素数量大于1,那么处理方法如下:
(1)假设所有与G相邻的骨架笔段集合为(2)计算分组G的包围盒中心点坐标(m,n);(3)对于每一个骨架笔段删除与G相邻、长度为W×βG(βG为某个缩放因子)的部分骨架信息,W为该汉字笔段平均宽度;(4)遍历SG中任意两个骨架笔段和如果它们能够拟合为一条没有拐点的平滑线段,那么就使用Hermit曲线将它们连接起来,从而合并为一条骨架笔段:(5)将SG中不能合并的剩余骨架笔段,延长至与直线x=n或y=m相交;图20给出了内部短笔段分组中只有一个元素时,处理前后的效果对比;图21给出了内部短笔段分组中元素数量大于1时,处理前后的效果对比。解释如下:左图中,虚线圆圈标出的就是内部段笔段。如图20所示,只有一个内部短笔段,它自己成为一个分组。经过前面所说的算法,将其处理后,得到右图的效果。也就是说,把这个内部短笔段删除了,其他笔段尽可能的连接合并了。如图21所示,有三个内部短笔段。它们属于一个分组。经过前面所说的算法,将其处理后,得到右图的效果。也就是说,把这组内部短笔段删除了,其他笔段尽可能的连接合并了。
(二)对于毛刺类型的处理
对于某个毛刺笔段s,假设它的端点为M、N,邻接属性为(2,0),长度为Ls。另外,假设与s相邻的两个其他骨架笔段分别为按照如下步骤,对s进一步分类:计算之间的夹角θ。如果θ小于某个阈值ε,那么将s归为“笔画转折毛刺”,判断结束;否则,进入下一步。本发明所使用的坐标系如图22所示,若向量的方向在第一、三象限,则将s归为“笔画粘连毛刺”,判断结束;若向量的方向在第四象限,则将s归为“笔画转折毛刺”,判断结束;否则,进入下一步。在和中,将最接近于竖直方向的笔段表示为s′。计算s′与毛刺s的夹角θ,若θ小于某个阈值ε',那么将s归为“笔画转折毛刺”,否则将s归为“笔画粘连毛刺”。
I、对于“笔画转折毛刺”s,采用如下步骤处理:
(1)如图23和24所示,对于每一个与s相邻的骨架笔段删除与s相邻、长度为Ls×αs(αs为缩放因子)的部分骨架信息,得到端点为A,B的两个笔段(2)如图25所示,沿s方向延长毛刺到二值图像的边界,在延长后的毛刺上选择一个适当的点C。(3)如图26所示,使用Hermit曲线连接AC,并将AC与合并为一个骨架笔段;使用Hermit曲线连接BC,并将BC与合并为一条骨架笔段;删除毛刺笔段s。如图27所示,最后得出了“笔画转折毛刺”的完整处理效果,可以看到云字左下角的毛刺被消除掉,并且连接为顺畅的撇折笔画。
II、对于“笔画粘连毛刺”s,采用如下步骤处理:
(1)如图28所示,对于每一个与s相邻的骨架笔段删除与s相邻、长度为Ls×αs(αs为缩放因子)的部分骨架信息,得到端点为A’、B’的两个笔段(2)如图29所示,沿s方向延长毛刺到二值图像的边界,在延长后的毛刺上选择一个适当的点C’;(3)如图30和31所示,在{A’C’、}和{B’C’、}中,选择一个更加接近直线拟合效果的集合。用Hermit曲线将该集合平滑连接、合并为一条骨架笔段,记为将剩余的骨架笔段进行延伸,至与骨架笔段相交;删除毛刺笔段s。如图32所示,最后得出了“笔画粘连毛刺”的完整处理效果,可以看到笔画粘连毛刺笔段被处理为正常的竖笔画。
(三)对于长笔段类型的处理调整
定义:对于某个坐标点P,如果它同时是三个长笔段的端点,那么就将其称为“三叉点”。对于骨架笔段中的每一个三叉点,按照如下方式处理:(1)假设与三叉点H连接的长骨架笔段集合为(2)对于每一个长骨架笔段删除与三叉点H相邻、且长度为W×αH(αH为缩放因子)的部分骨架信息;(3)遍历任意两个长骨架笔段和如果它们能够拟合为一条平滑的直线段,那么使用Hermit曲线将它们连接起来,从而合并为一条骨架笔段;(4)对于SH中不能合并的剩余长骨架笔段,对其端点进行适当延伸。如图33所示,得出了三叉点调整前后的效果对比,可以看到长笔段被被正确的划分为正常符合标准字库的笔画。
六、对消歧后的骨架笔段进行排序
步骤五得到的骨架笔段已经与标准字笔段数量一致,但顺序不同。本步骤的目的是,以标准字笔段的顺序为依据,对字帖图像的骨架笔段进行调整,从而得到正确顺序的骨架笔段。具体操作包括:首先,将步骤五得到的骨架笔段与标准汉字库中对应汉字的标准笔段进行匹配;然后,根据标准笔段的顺序,对骨架笔段的顺序、以及每个骨架笔段内部的采样点顺序进行调整,得到按照书写规律排列的骨架笔段列表。
七、汉字字帖图像的动态还原
以步骤六的结果为基础,本步骤将原始的字帖汉字图像以动画的形式显示出来,汉字书写过程的动态还原具体包括以下步骤:(1)准备一张与原始字帖图像尺寸相同的空白图像;(2)以排序后的骨架笔段为基础,遍历骨架笔段的每一个像素点;(3)对于某一个骨架像素点A来讲,计算它的笔迹半径wA;(4)以A为圆心、wA为半径在空白图像上生成一个圆形;将原始字帖图像中该圆形区域内的像素值拷贝到空白图像中。按照上述步骤,就可以实现汉字字帖图像的动态书写效果了。具体效果如图34所示。
下面结合具体字例“宋”,对本发明的实施方式作详细描述。
一、准备标准字库
标准字库中存储了所有汉字的字形信息。每个标准汉字的字形信息包含部件、笔画和标准字笔段。图35给出了标准字“宋”的字形信息。这个字包含两个部件,七个笔画,八个标准字笔段。第一个部件包含三个笔画,第二个部件包含四个笔画。其中第三个笔画包含两个标准字笔段,其他笔画均包含一个笔段。每个标准字笔段中存储了一系列的采样点,这些采样点数据如图36所示。其中,圆点表示采样点,黑线表示书写过程,数字为笔段序号。
为了得到上述标准字库,本发明实施例以黑体TrueType字形为基础,通过手工描绘的方式,获取汉字的所有笔画、笔段;然后,通过手工标注方式,对标准字进行部件、笔段顺序等信息的标注。通过上述方法,本发明实施例得到了3027个标准汉字的字形信息。
二、采集字帖汉字图像
本方法利用扫描仪将不同作者不同字体字帖中的汉字转换为静态图像,比如,字帖汉字“宋”的采集结果如图37所示。
三、图像预处理
如图38所示,本步骤对字帖汉字图像进行灰度化和二值化操作,将字帖汉字图片转换成为二值图像。其中,在本实施方式中,灰度化操作采用加权平均灰度法;二值化操作采用OTSU算法。针对上述二值图像,本实施方式采用模板法对汉字边缘进行平滑处理。具体方式如下:图39中的左图是填补像素的模板。使用该模板遍历二值图像,当二值图像中的某个区域与模板吻合时,则将中心像素置为前景像素;图39中的右图是去除像素的模板。使用该模板遍历二值图像,当二值图像的某个区域与模板吻合时,则将中心像素置为背景像素。需要注意:在遍历过程中,这两个模板均可进行90°、180°、270°的顺时针旋转。图40是预处理后的结果。
四、图像细化处理
本实施方式采用Rosenfeld算法进行二值图像的细化。Rosenfeld算法实现简单且效率高;同时可以保证细化结果在八邻域上的连通性,避免笔画断裂问题。字帖汉字图像经Rosenfeld算法细化之后得到了一个汉字骨架,本发明实施例将骨架存储为点序列:P={p1,p2,…,pn}。细化结果如图41所示。
五、骨架笔段提取
遍历骨架点序列P,计算P中每一个像素点在8联通区域内的邻接点个数。将邻接点(邻接点是指一个像素点与哪些其他像素点相邻)个数不为2的像素点作为初次划分骨架笔段的端点,端点之间的彼此相邻的像素点作为骨架笔段内部点。这样,获得初步的笔段列表L={l1,l2,…}。对于每个骨架笔段li,本实施方式采用动射线算法(黄襄念,程萍,杨波,等.自然手写汉字预处理子系统[J].重庆大学学报,2000,23(4):33-37)计算出该笔段的拐点T={t1,t2,…}。将T作为分割点进一步分割li。这样,可以得到最终的骨架笔段集合S。此时,S中的笔段全部为简单笔段,方便后续的处理和调整。如图42所示,阴影圆点表示骨架笔段的所有端点,相邻两个阴影圆点及中间的白色线条表示一个骨架笔段。
六、骨架笔段消歧处理
本步骤对骨架笔段进行消歧处理,具体操作如下。
A.笔画平均宽度的计算:遍历骨架笔段列表,计算每个骨架笔段的长度。本实施方式选择长度最大的三个骨架笔段。计算这三个骨架笔段中点位置处的宽度,并将它们的均值作为整个汉字的笔画平均宽度W。
B.骨架笔段类型的识别:根据本发明的技术方案,将骨架笔段进行分类。“宋”字图像的笔段分类结果如图43所示。其中,虚线圆圈圈出的骨架笔段分组G,为内部短笔段类型;M1N1和M2N2指出的笔段为毛刺类型;其余骨架笔段均为长笔段类型;点H为三个长笔段形成的三叉点。
C.骨架笔段的消歧处理:根据本发明的技术方案,对“宋”字的骨架笔段进行消歧处理。具体顺序是:首先处理内部短笔段类型,然后处理毛刺类型,最后处理长笔段类型。
(a)内部短笔段的处理
在图43中,“宋”字包含一个内部短笔段分组G,且G中的短笔段数量大于1。为了说明方便,本发明实施例将其放大为图44。另外,将与G相邻的骨架笔段集合记为将分组G的包围盒中心(图44中灰色实心圆点)坐标记为为(m,n)。按照本发明的技术方案,对G进行如下处理:
3)根据上述判定规则可知,图44中的和可以合并,和可以合并。对于和合并方法如下:根据两个笔段的端点以及端点处的切向量,构造一条Hermit曲线,将和连接起来,合并为一条笔段。同理将和合并为一条骨架笔段;
“宋”字内部短笔段组处理前后的结果对比如图45所示。
(b)毛刺类型的处理
在图43中,毛刺笔段为M1N1和M2N2。根据发明方案的描述可知,M1N1为笔画粘连毛刺,M2N2为笔画转折毛刺。如图46所示,对毛刺笔段M1N1进行处理的步骤如下:
3)将毛刺笔段M1N1延长,得到与笔画外边界相距0.5×W的点C;
4)计算AC和之间的夹角,BC和之间的夹角。选择夹角较大的一组,进行合并。如图31,这里可以确定:AC和可以合并为一条笔段。所以,利用点A、C的坐标和的切线方向、M1N1的切线方向,计算一条Hermit曲线,将他们连接起来;
如图47所示,对毛刺笔段M2N2的处理步骤如下:
3)在延长的毛刺笔段上,找到与笔画外边界相距0.5×W的点C;
图48是毛刺笔段在处理前后的结果对比。
(c)长笔段类型的处理
图50是“宋”字长笔段类型处理前后结果对比图。
至此,完成了对“宋”字中所有骨架笔段的消歧处理。
七、骨架笔段的排序
如图50右图所示,经过消歧处理后得到的骨架笔段,是“宋”字最终的、无歧义的骨架笔段。这些骨架笔段与标准字库中“宋”字的标准笔段存在一一对应关系。在这里,本实施方式选择松弛匹配算法(Cheng F H,Hsu W H,Kuo M C.Recognition of handpr intedchinese characters via stroke relaxation[J].Pattern Recognition,1993,26(4):579-593)实现对骨架笔段和标准字笔段的匹配。然后,根据匹配结果对骨架笔段及笔段内的点序列进行重新排序,最终得到按照书写顺序排列的汉字骨架笔段序列。
八、动态还原
匹配排序结束后,本发明实施例就得到了按正确书写顺序排列的“宋”字骨架笔段。每个笔段中的点序列,也是按照正确书写顺序由起始位置至终止位置排列的。按照本发明技术方案中的内容,便可完成对“宋”字书写过程的动态还原。
本发明实施例还提供了一种长笔段的处理装置,该装置可以通过删除模块22、判断模块24、拟合模块26实现其功能。需要说明的是,本发明实施例的一种长笔段的处理装置可以用于执行本发明实施例所提供的一种长笔段的处理方法,本发明实施例的一种长笔段的处理方法也可以通过本发明实施例所提供的一种长笔段的处理装置来执行。图2是根据本发明实施例的一种长笔段的处理装置的示意图。如图2所示,一种长笔段的处理装置包括:
删除模块22,用于在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是,所述三叉点是多个长笔段的交叉点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;
判断模块24,用于判断所述部分长笔段是否能够拟合为平滑直线段;
拟合模块26,用于将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。
本发明实施例提供了一种处理器,处理器包括处理的程序,其中,在程序运行时控制处理器所在设备执行上述方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种长笔段的处理方法,其特征在于,包括:
获取汉字骨架图像;遍历骨架上的所有像素点,获取骨架笔段;遍历每一个所述骨架笔段,找到所述骨架笔段内部的所有拐点;基于所述所有拐点,将所述骨架笔段进行切分;
对所述切分后的骨架笔段进行分类,所述分类包括毛刺类型、内部短笔段类型、长笔段类型;所述长笔段类型是,邻接属性为(0 ,1)(1 ,0)(0 ,0)(1 ,1)(2 ,1)(1 ,2)的骨架笔段;
对每一种类型的所述骨架笔段消除畸变;在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是指与原始静态汉字的实际书写笔迹路径相一致、不存在细化歧义的骨架笔段,所述三叉点是指三个长笔段共有的邻接点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;
判断所述部分长笔段是否能够拟合为平滑直线段;
将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
2.根据权利要求1所述的方法,其特征在于,所述长笔段的阈值范围是根据所述长笔段的平均长度来确定。
3.根据权利要求1所述的方法,其特征在于,在判断所述部分长笔段不能够拟合为平滑直线段的情况下,将不能够拟合为平滑直线段的部分长笔段进行延长。
4.一种长笔段的处理装置,其特征在于,包括:
获取模块,用于获取汉字骨架图像;遍历骨架上的所有像素点,获取骨架笔段;遍历每一个所述骨架笔段,找到所述骨架笔段内部的所有拐点;基于所述所有拐点,将所述骨架笔段进行切分;
分类模块,用于对所述切分后的骨架笔段进行分类,所述分类包括毛刺类型、内部短笔段类型、长笔段类型;所述长笔段类型是,邻接属性为(0 ,1)(1 ,0)(0 ,0)(1 ,1)(2 ,1)(1,2)的骨架笔段;
删除模块,用于对每一种类型的所述骨架笔段消除畸变;在判断汉字的骨架笔段为长笔段的情况下,删除靠近三叉点的预定长度的骨架笔段得到部分长笔段,其中,所述长笔段是指与原始静态汉字的实际书写笔迹路径相一致、不存在细化歧义的骨架笔段,所述三叉点是多个长笔段的交叉点;所述预定长度的骨架笔段是在所述长笔段的阈值范围内的长笔段的一部分;
判断模块,用于判断所述部分长笔段是否能够拟合为平滑直线段;
拟合模块,用于将能够拟合为平滑直线段的所述部分长笔段拟合为一条平滑的直线段。
5.根据权利要求4所述的装置,其特征在于,还包括:处理模块,用于在判断所述部分长笔段不能够拟合为平滑直线段的情况下,将不能够拟合为平滑直线段的部分长笔段进行延长。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至3中任意一项所述的方法。
7.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至3中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811058581.9A CN109359529B (zh) | 2018-09-11 | 2018-09-11 | 长笔段的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811058581.9A CN109359529B (zh) | 2018-09-11 | 2018-09-11 | 长笔段的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359529A CN109359529A (zh) | 2019-02-19 |
CN109359529B true CN109359529B (zh) | 2021-11-30 |
Family
ID=65350894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811058581.9A Active CN109359529B (zh) | 2018-09-11 | 2018-09-11 | 长笔段的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359529B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121204A (zh) * | 1994-10-15 | 1996-04-24 | 李保源 | 汉字主次字元码 |
CN1211773A (zh) * | 1997-08-11 | 1999-03-24 | 株式会社筑波软件研究所 | 彩色图象以及色调连续变化图象的通信设备和方法 |
CN107330906A (zh) * | 2017-06-28 | 2017-11-07 | 江南大学 | 基于曲线拟合的改进细化算法 |
JP2018060389A (ja) * | 2016-10-06 | 2018-04-12 | アイラボ株式会社 | プログラム、情報記憶媒体及び文字分割装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763516B (zh) * | 2010-01-15 | 2012-02-29 | 南京航空航天大学 | 一种基于拟合函数的文字识别方法 |
JP5494330B2 (ja) * | 2010-07-26 | 2014-05-14 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
CN103942552B (zh) * | 2014-02-11 | 2017-02-08 | 北京大学 | 一种基于骨架指导的文字图像矢量化方法及系统 |
CN103927537B (zh) * | 2014-05-08 | 2017-01-25 | 电子科技大学 | 一种自适应的汉字笔画交叉区域提取方法 |
CN104063723B (zh) * | 2014-06-25 | 2017-06-06 | 北京语言大学 | 脱机手写汉字的笔画还原方法及装置 |
-
2018
- 2018-09-11 CN CN201811058581.9A patent/CN109359529B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121204A (zh) * | 1994-10-15 | 1996-04-24 | 李保源 | 汉字主次字元码 |
CN1211773A (zh) * | 1997-08-11 | 1999-03-24 | 株式会社筑波软件研究所 | 彩色图象以及色调连续变化图象的通信设备和方法 |
JP2018060389A (ja) * | 2016-10-06 | 2018-04-12 | アイラボ株式会社 | プログラム、情報記憶媒体及び文字分割装置 |
CN107330906A (zh) * | 2017-06-28 | 2017-11-07 | 江南大学 | 基于曲线拟合的改进细化算法 |
Non-Patent Citations (1)
Title |
---|
《Off-line handwritten chinese character stroke extraction》;F Lin等;《ICPR2002》;20021231;第249-252页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109359529A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409211B (zh) | 汉字骨架笔段的处理方法、处理装置及存储介质 | |
Gatos et al. | ICDAR2009 handwriting segmentation contest | |
Karthick et al. | Steps involved in text recognition and recent research in OCR; a study | |
CN110659644B (zh) | 书法单字的笔画自动提取方法 | |
CN104751142B (zh) | 一种基于笔划特征的自然场景文本检测方法 | |
AU2006252019B2 (en) | Method and Apparatus for Dynamic Connector Analysis | |
US7729541B2 (en) | Comparative and analytic apparatus method for converting two-dimensional bit map data into three-dimensional data | |
JP2003515230A (ja) | ビデオストリームの分類可能な記号の分離方法及びシステム | |
US8670615B2 (en) | Refinement of segmentation markup | |
Parakkat et al. | A Delaunay triangulation based approach for cleaning rough sketches | |
Al Abodi et al. | An effective approach to offline Arabic handwriting recognition | |
CN109325483B (zh) | 内部短笔段的处理方法和装置 | |
WO2024041032A1 (zh) | 基于不可编辑的图文类图像生成可编辑文档的方法及装置 | |
Melhi et al. | A novel triangulation procedure for thinning hand-written text | |
CN112686265A (zh) | 一种基于层级轮廓提取的象形文字分割方法 | |
Narang et al. | Drop flow method: an iterative algorithm for complete segmentation of Devanagari ancient manuscripts | |
CN109271882B (zh) | 一种区分颜色的手写体汉字提取方法 | |
CN115841671B (zh) | 一种书法字骨架矫正方法、系统及存储介质 | |
CN109359529B (zh) | 长笔段的处理方法和装置 | |
Silva et al. | Segmenting sinhala handwritten characters | |
CN109410291B (zh) | 毛刺类型笔段的处理方法和装置 | |
CN111860173B (zh) | 一种基于弱监督的遥感图像地物要素提取方法及系统 | |
Mostafa | An adaptive algorithm for the automatic segmentation of printed Arabic text | |
Ghanei et al. | Robust localization of texts in real-world images | |
Boudissa et al. | semantic segmentation of traffic landmarks using classical computer vision and U-Net model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |