CN109409211B - 汉字骨架笔段的处理方法、处理装置及存储介质 - Google Patents

汉字骨架笔段的处理方法、处理装置及存储介质 Download PDF

Info

Publication number
CN109409211B
CN109409211B CN201811058584.2A CN201811058584A CN109409211B CN 109409211 B CN109409211 B CN 109409211B CN 201811058584 A CN201811058584 A CN 201811058584A CN 109409211 B CN109409211 B CN 109409211B
Authority
CN
China
Prior art keywords
skeleton
segment
type
pen section
pen
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
Application number
CN201811058584.2A
Other languages
English (en)
Other versions
CN109409211A (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.)
BEIJING LANGUAGE AND CULTURE UNIVERSITY
Original Assignee
BEIJING LANGUAGE AND CULTURE 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 BEIJING LANGUAGE AND CULTURE UNIVERSITY filed Critical BEIJING LANGUAGE AND CULTURE UNIVERSITY
Priority to CN201811058584.2A priority Critical patent/CN109409211B/zh
Publication of CN109409211A publication Critical patent/CN109409211A/zh
Application granted granted Critical
Publication of CN109409211B publication Critical patent/CN109409211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Character Input (AREA)

Abstract

本发明公开了一种汉字骨架笔段的处理方法、处理装置及存储介质。其中,该方法包括:获取每个汉字的所有骨架笔段;确定所有骨架笔段的平均宽度值;根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。本发明解决了现有技术在汉字笔段消歧和排序过程中存在的技术问题。

Description

汉字骨架笔段的处理方法、处理装置及存储介质
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种汉字骨架笔段的处理方法、处理装置及存储介质。
背景技术
历代书法名家的作品都是静态的;市面上很多的书法字帖也都是静态的。然而,汉字书写的动态过程在书法艺术鉴赏、书写教学等方面意义明显。所以,对静态字帖汉字的书写过程进行动态还原是非常有必要的。
在静态字帖汉字书写过程的动态还原过程需要解决两个关键问题:字帖汉字骨架笔段的提取,以及对骨架笔段序列的消歧和排序。目前,在汉字的骨架笔段提取方面,已经出现很多方法。例如,外围轮廓法、数学形态法、段化法、区域分解法、模糊区域检测法、基于细化的方法、基于距离的方法、基于方向游程长度的方法、基于编码的方法、基于神经元网络的方法等。这些方法基本都是基于印刷体的汉字识别而提出的,因而它们对汉字具有较强的限制,在字符集的容量上、字体字形的视觉效果上都具有很强的约束性。
目前,在对汉字笔段消歧和排序方面研究较少,主要有以下几种方法:第一种,通过定义规则生成汉字的笔顺,并通过计算与标准模板中的笔顺的相似度进行纠正,该方法难以区分相同笔顺的近似字,分辨率不高;第二种,重构数字字符笔迹顺序的方法,通过搜寻最小代价的Hamilton路径来重构书写笔迹,但该方法只能用于数字等复杂程度低的字符集合,并且上述方法均不能适应汉字字形的各种笔画;第三种,针对每一个汉字建立一个笔段消歧规则,该方法不能实现笔段歧义畸变的自动识别和处理,且数据量大、适应性低,对于笔段消歧规则中不包含的歧义无法消除。
针对上述现有技术在汉字笔段消歧和排序过程中存在的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种汉字骨架笔段的处理方法、处理装置及存储介质,以至少解决现有技术在汉字笔段消歧和排序过程中存在的技术问题。
根据本发明实施例的一个方面,提供了一种汉字骨架笔段的处理方法,包括:获取每个汉字的所有骨架笔段;确定所有骨架笔段的平均宽度值;根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
进一步地,获取每个汉字的所有骨架笔段包括:获取每个汉字的二值图像,其中,所述汉字的骨架与所述二值图像中书写笔迹的中心线相重合;遍历所述汉字的骨架像素获得以笔画端点为拆分点的第一骨架笔段,其中,所述笔画端点是指:在它的8连通区域中其他骨架像素数量不为2;遍历所述第一骨架笔段获得以笔画拐点为拆分点的第二骨架笔段,其中,所述笔画拐点是指:在它的8连通区域中其他骨架像素数量等于2,并具有转折性。
进一步地,确定所有骨架笔段的平均宽度值包括:筛选并获得长度符合预定要求的第三骨架笔段;计算所述第三骨架笔段在各自中点处的笔迹宽度;将所述第三骨架笔段平均笔迹宽度作为所有骨架笔段的平均宽度值。
进一步地,根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型包括:判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为毛刺类型,和/或判断所述骨架笔段的两端各自有两个相邻接的骨架笔段,则所述骨架笔段的类型为内部短笔段类型,和/或判断所述骨架笔段不符合毛刺类型和所述内部短笔段类型的邻接属性,则所述骨架笔段的类型为长笔段类型。
进一步地,判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为毛刺类型包括:判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为初始毛刺类型;判断所述骨架笔段的长度是否小于第一阈值,其中,所述第一阈值是根据骨架笔段的平均宽度值来确定的;如果所述骨架笔段的长度小于第一阈值,则所述骨架笔段的类型为毛刺类型;如果所述骨架笔段的长度大于等于第一阈值,则再判断所述骨架笔段的长度是否小于第二阈值以及所述骨架笔段的宽度是否大于第三阈值,如果是则所述骨架笔段的类型为毛刺类型。
进一步地,判断所述骨架笔段的两端各自有两个相邻接的骨架笔段,则所述骨架笔段的类型为内部短笔段类型包括:判断所述骨架笔段的一端有两个邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为初始内部短笔段类型;判断所述骨架笔段的长度是否小于第四阈值,其中,所述第四阈值是根据骨架笔段的平均宽度值来确定的;如果所述骨架笔段的长度小于第四阈值,则所述骨架笔段的类型为内部短笔段类型;如果所述骨架笔段的长度大于等于第四阈值,则再判断所述骨架笔段的长度是否小于第五阈值以及所述骨架笔段的宽度是否大于第六阈值,如果结果为是则所述骨架笔段的类型为毛刺类型;如果结果为否,则再判断所述骨架笔段是否满足三角形法则;如果满足三角形法则,则所述骨架笔段的类型为内部短笔段类型。
进一步地,判断所述骨架笔段是否满足三角形法则包括:在所述骨架笔段的相邻骨架笔段上寻找与所述骨架笔段的端点距离为预定长度的检测点,其中,所述预定长度是待检测骨架笔段的长度,所述端点是待检测骨架笔段的两端;将所述骨架笔段的两端点和每个检测点分别构成一个三角形;检测所述三角形的范围内汉字的二值图像是否均为前景像素;如果是,则所述骨架笔段满足三角形法则;如果否,则所述骨架笔段不满足三角形法则。
进一步地,根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段之后包括:将所述汉字骨架笔段与标准汉字的标准笔段进行比对,其中,所述标准汉字按照笔画书写顺序存储在标准汉字库中,所述标准笔段是不含拐点的连续平滑线段;根据标准笔段的书写顺序排列所述汉字骨架笔段的书写顺序并以动画形式显示。
根据本发明实施例的一个方面,提供了一种汉字骨架笔段的处理装置,包括:获取模块,用于获取每个汉字的所有骨架笔段;确定模块,用于确定所有骨架笔段的平均宽度值;判断模块,用于根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;处理模块,用于根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行权利要求上述的方法。
在本发明实施例中,采用获取每个汉字的所有骨架笔段;确定所有骨架笔段的平均宽度值;根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段的方式。在经过提取骨架笔段之后,所有的汉字的笔段类型均可以使用邻接属性和平均宽度值来进行划分,从而具有普适性,根据不同的笔段类型自动采取相应的消歧方法从而实现笔段歧义畸变的自动识别和处理,进而解决了现有技术在汉字笔段消歧和排序过程中存在的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图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是根据本发明实施例的“宋”字长笔段处理效果对比图;
图51是根据本发明实施例的一种汉字骨架笔段的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种汉字骨架笔段的处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种汉字骨架笔段的处理方法,如图1所示,该方法包括如下步骤:
步骤S102,获取每个汉字的所有骨架笔段;
步骤S104,确定所有骨架笔段的平均宽度值;
步骤S106,根据每个骨架笔段的邻接属性和平均宽度值判断骨架笔段的类型,其中,骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;
步骤S108,根据骨架笔段的类型分别对骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
上述邻接属性是指对于某个骨架笔段s,它有两个端点,记为a,b,如果它的首端点与as个其他骨架笔段相邻,尾端点与bs个其他骨架笔段相邻,那么将其邻接属性记为(as,bs)。例如:在骨架笔段的a端点处,与笔段s相邻的其他笔段有2个。在b点出,与笔段s相邻的其他笔段有1个,则此时就可以记为(2,1),根据数字图像的细化特点,此处的数字取值,可以是0,1,2。根据邻接属性对毛刺类型、内部短笔段类型、长笔段类型进行初步的划分,再通过骨架笔段的平均宽度值对毛刺类型、内部短笔段类型、长笔段类型做进一步区分。对于某个待定骨架笔段s来讲,如果它的邻接属性为(0,2)或(2,0),那么初步判断为毛刺类型;如果它的邻接属性为(2,2),那么初步判断为内部短笔段类型,如果是其他的邻接属性则初步判断为长笔段类型。
通过上述步骤在提取骨架笔段后根据邻接属性将骨架笔段划分为不同的类型,该方法与现有技术不同,现有技术在骨架笔段消歧的时候对每一个汉字编写一个消歧规则,存在数据处理量大、耗费时间、普适性低的问题,而且需要用户的经验非常丰富。本发明实施例不需要对每一个汉字编写消歧规则,在经过提取骨架笔段之后,所有的汉字的笔段类型均可以使用邻接属性和平均宽度值来进行划分,从而具有普适性,根据不同的笔段类型自动采取相应的消歧方法从而实现笔段歧义畸变的自动识别和处理,解决了现有技术在汉字笔段消歧和排序过程中存在的技术问题。
上述步骤中的骨架笔段的划分与现有技术的笔画划分不同,本实施例是将细化骨架8邻域前景像素个数不为2的点和拐点作为骨架笔段端点。在一个可选的实施方式中,首先,获取每个汉字的二值图像,其中,汉字的骨架与二值图像的中心线相重合;然后遍历汉字的骨架获得以笔画端点为拆分点的第一骨架笔段,其中,笔画端点是在汉字骨架周围相邻的骨架像素数量不为2的点;最后遍历第一骨架笔段获得以笔画拐点为拆分点的第二骨架笔段,其中,笔画拐点是在在汉字骨架周围相邻的骨架像素数量等于2并具有转折性的点。
下面以一个可选的具体实施例说明上述步骤:
遍历骨架点序列P,计算P中每一个像素点在8联通区域内的邻接点个数。将邻接点个数不为2的像素点作为初次划分骨架笔段的端点,端点之间的彼此相邻的像素点作为骨架笔段内部点。这样,获得初步的笔段列表L={l1,l2,…}。
对于每个骨架笔段li采用动射线算法计算出该笔段的拐点T={t1,t2,…}。将T作为分割点进一步分割li。这样可以得到最终的骨架笔段集合S。此时,S中的笔段全部为简单笔段,方便后续的处理和调整。如图2所示,图中的阴影圆点表示骨架笔段的所有端点,相邻两个阴影圆点及中间的白色线条表示一个骨架笔段。
通过上述两层拆分笔段的方法,可以实现将汉字的骨架笔段全部拆分为简单的笔段,该笔段与现有技术中的笔画不同,更加便于后续处理,并且可以适用于多种汉字的各种笔画,更加具有普适性。
为了更加准确的确定所有骨架笔段的平均宽度值以便于自动识别,在一个可选的实施方式中,可以先筛选并获得长度符合预定要求的第三骨架笔段;再计算第三骨架笔段在各自中点处的笔迹宽度;最后将第三骨架笔段平均笔迹宽度作为所有骨架笔段的平均宽度值。
下面以一个可选的方式说明确定所有骨架笔段的平均宽度值的步骤:
(1)在骨架笔段列表中,选择最长的m(m<n)个骨架笔段;
(2)计算这m个骨架笔段在各自中点处的笔迹宽度wi(i=1,2,…,m);
(3)将该汉字笔段平均宽度W定义为如下公式:
Figure GDA0002587346050000071
通过上述步骤实现确定骨架笔段的平均宽度值,该处理方法更加具有普适性,由于可以根据实际每个汉字的笔段来计算各自的平均宽度值,使得该方法的分辨率更高。
上述骨架笔段的类型有三种,分别是毛刺类型、内部短笔段类型、和长笔段类型,在一个可选的实施方式中,这三种类型的初步划分方式分别是:判断骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则骨架笔段的类型为毛刺类型,和/或判断骨架笔段的两端各自有两个相邻接的骨架笔段,则骨架笔段的类型为内部短笔段类型,和/或判断骨架笔段不符合毛刺类型和内部短笔段类型的邻接属性,则骨架笔段的类型为长笔段类型。
通过上述步骤根据邻接属性分别实现对毛刺类型、内部短笔段类型、和长笔段类型三种类型的初步划分,减少了运算量,节约处理时间。
在根据邻接属性初步划分了骨架笔段的类型后,再通过每个汉字的骨架平均宽度值来进一步地确定上述每种骨架笔段的类型,从而使得骨架笔段的识别准确度更高,对于判断骨架笔段为毛刺类型的方法,在一个可选的实施方式中,判断骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则骨架笔段的类型为毛刺类型包括:判断骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则骨架笔段的类型为初始毛刺类型;判断骨架笔段的长度是否小于第一阈值,其中,第一阈值是根据骨架笔段的平均宽度值来确定的;如果骨架笔段的长度小于第一阈值,则骨架笔段的类型为毛刺类型;如果骨架笔段的长度大于等于第一阈值,则再判断骨架笔段的长度是否小于第二阈值以及骨架笔段的宽度是否大于第三阈值,如果是则骨架笔段的类型为毛刺类型。
通过上述步骤,可以实现更加准确的判断毛刺类型,从而使得上述方法能够自动识别和处理在汉字笔段消歧中的问题。
对于判断骨架笔段为内部短笔段类型的方法,在一个可选的实施方式中,判断骨架笔段的一端有两个邻接的骨架笔段,另一端有两个邻接的骨架笔段,则骨架笔段的类型为初始内部短笔段类型;判断骨架笔段的长度是否小于第四阈值,其中,第四阈值是根据骨架笔段的平均宽度值来确定的;如果骨架笔段的长度小于第四阈值,则骨架笔段的类型为内部短笔段类型;如果骨架笔段的长度大于等于第四阈值,则再判断骨架笔段的长度是否小于第五阈值以及骨架笔段的宽度是否大于第六阈值,如果结果为是则骨架笔段的类型为毛刺类型;如果结果为否,则再判断骨架笔段是否满足三角形法则;如果满足三角形法则,则骨架笔段的类型为内部短笔段类型。
通过上述步骤,可以实现更加准确的内部短笔段类型,从而使得上述方法能够自动识别和处理在汉字笔段消歧中的问题。
判断骨架笔段是否满足三角形法则,在一个可选的实施方式中,在骨架笔段的相邻骨架笔段上寻找与骨架笔段的端点距离为预定长度的检测点,其中,预定长度是待检测骨架笔段的长度,端点是待检测骨架笔段的两端;将骨架笔段的两端点和每个检测点分别构成一个三角形;检测三角形的范围内汉字的二值图像是否均为前景像素;如果是,则骨架笔段满足三角形法则;如果否,则骨架笔段不满足三角形法则。
通过上述步骤的三角形法则可以实现更加准确的筛选内部短笔段类型。
根据骨架笔段的类型分别对骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段之后,在一个可选的实施方式中,将汉字骨架笔段与标准汉字的标准笔段进行比对,其中,标准汉字按照笔画书写顺序存储在标准汉字库中,标准笔段是不含拐点的连续平滑线段;根据标准笔段的书写顺序排列汉字骨架笔段的书写顺序并以动画形式显示。
通过上述步骤可以实现对静态字帖汉字进行骨架笔段提取,在进行消歧处理得到与标准汉字相符合的汉字骨架笔段之后,与标准汉字库中的汉字进行匹配,得到该汉字的笔顺信息;最后,依据笔顺信息对字帖汉字骨架笔段进行重排序,以动画的形式表现该汉字的书写过程,解决了现有技术中在汉字笔段消歧和排序过程中无法自动识别和处理的问题。
上述标准字库存储了所有汉字的字形信息。每个标准汉字的字形信息包含部件、笔画和标准字笔段三种数据。其中,部件为整字中相对独立的组成部分,它是由笔画组成的具有组配汉字功能的构字单位;笔画是指汉字书写时一次连续写成的线条;标准字笔段则是指不含拐点的连续平滑的线段。在标准字库中,按照书写顺序存储每个汉字的上述信息,即包含了每个标准字的笔顺。
下面结合一个可选的实施方式举例对上述所有步骤进行说明:
一、先采集字帖汉字图像作为需要处理的汉字:使用扫描仪、照相机等图像采集设备,将市面上不同作者、不同字体的字帖汉字转换成为数字图像,以便进行后续处理。从两种汉字字帖中采集的数字图像如图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(α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。
2)从s的一个端点P出发,对相邻骨架笔段进行深度遍历,找到所有与P点的路径距离为Ls的点集
Figure GDA0002587346050000111
i=1,2…;
3)从s的另一个端点Q出发,对相邻骨架笔段进行深度遍历,找到所有与Q点的路径距离为Ls的点集
Figure GDA0002587346050000112
j=1,2…;
4)遍历如下三角形:
Figure GDA0002587346050000113
对于步骤二中的二值图像来讲,如果上述所有三角形内部区域的像素均为前景像素(步骤二中的二值图像中黑色的像素区域,也就是字迹内容的区域)那么表示骨架笔段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相邻的其他骨架笔段集合为
Figure GDA0002587346050000114
i=1,2…;(2)对于每一个骨架笔段
Figure GDA0002587346050000115
删除与G相邻、且长度为LG×αG(αG为某个缩放因子)的部分骨架信息;(3)遍历SG中的任意两个骨架笔段
Figure GDA0002587346050000116
Figure GDA0002587346050000117
如果它们端点切向量的夹角大于θ(θ为[90,180]之间的某个实数),那么就使用Hermit曲线将它们连接起来,从而合并为一条骨架笔段:(4)将SG中不能合并的骨架笔段,延长至与G相交;
对于某个分组G来讲,如果它的元素数量大于1,那么处理方法如下:
(1)假设所有与G相邻的骨架笔段集合为
Figure GDA0002587346050000121
i=1,2…;(2)计算分组G的包围盒中心点坐标(m,n);(3)对于每一个骨架笔段
Figure GDA0002587346050000122
删除与G相邻、长度为W×βG(βG为某个缩放因子)的部分骨架信息,W为该汉字笔段平均宽度;(4)遍历SG中任意两个骨架笔段
Figure GDA0002587346050000123
Figure GDA0002587346050000124
如果它们能够拟合为一条没有拐点的平滑线段,那么就使用Hermit曲线将它们连接起来,从而合并为一条骨架笔段:(5)将SG中不能合并的剩余骨架笔段,延长至与直线x=n或y=m相交;图20给出了内部短笔段分组中只有一个元素时,处理前后的效果对比;图21给出了内部短笔段分组中元素数量大于1时,处理前后的效果对比。解释如下:左图中,虚线圆圈标出的就是内部段笔段。如图20所示,只有一个内部短笔段,它自己成为一个分组。经过前面所说的算法,将其处理后,得到右图的效果。也就是说,把这个内部短笔段删除了,其他笔段尽可能的连接合并了。如图21所示,有三个内部短笔段。它们属于一个分组。经过前面所说的算法,将其处理后,得到右图的效果。也就是说,把这组内部短笔段删除了,其他笔段尽可能的连接合并了。
(二)对于毛刺类型的处理
对于某个毛刺笔段s,假设它的端点为M、N,邻接属性为(2,0),长度为Ls。另外,假设与s相邻的两个其他骨架笔段分别为
Figure GDA0002587346050000125
按照如下步骤,对s进一步分类:计算
Figure GDA0002587346050000126
之间的夹角θ。如果θ小于某个阈值ε,那么将s归为“笔画转折毛刺”,判断结束;否则,进入下一步。本发明所使用的坐标系如图22所示,若向量
Figure GDA0002587346050000127
的方向在第一、三象限,则将s归为“笔画粘连毛刺”,判断结束;若向量
Figure GDA0002587346050000128
的方向在第四象限,则将s归为“笔画转折毛刺”,判断结束;否则,进入下一步。在
Figure GDA0002587346050000129
Figure GDA00025873460500001210
中,将最接近于竖直方向的笔段表示为s′。计算s′与毛刺s的夹角θ,若θ小于某个阈值ε′,那么将s归为“笔画转折毛刺”,否则将s归为“笔画粘连毛刺”。
I、对于“笔画转折毛刺”s,采用如下步骤处理:
(1)如图23和24所示,对于每一个与s相邻的骨架笔段
Figure GDA00025873460500001211
删除与s相邻、长度为Ls×αs(αs为缩放因子)的部分骨架信息,得到端点为A,B的两个笔段
Figure GDA00025873460500001212
(2)如图25所示,沿s方向延长毛刺到二值图像的边界,在延长后的毛刺上选择一个适当的点C。(3)如图26所示,使用Hermit曲线连接AC,并将AC与
Figure GDA00025873460500001213
合并为一个骨架笔段;使用Hermit曲线连接BC,并将BC与
Figure GDA00025873460500001214
合并为一条骨架笔段;删除毛刺笔段s。如图27所示,最后得出了“笔画转折毛刺”的完整处理效果,可以看到云字左下角的毛刺被消除掉,并且连接为顺畅的撇折笔画。
II、对于“笔画粘连毛刺”s,采用如下步骤处理:
(1)如图28所示,对于每一个与s相邻的骨架笔段
Figure GDA00025873460500001215
删除与s相邻、长度为Ls×αs(αs为缩放因子)的部分骨架信息,得到端点为A’、B’的两个笔段
Figure GDA00025873460500001216
(2)如图29所示,沿s方向延长毛刺到二值图像的边界,在延长后的毛刺上选择一个适当的点C’;(3)如图30和31所示,在
Figure GDA00025873460500001217
Figure GDA00025873460500001218
中,选择一个更加接近直线拟合效果的集合。用Hermit曲线将该集合平滑连接、合并为一条骨架笔段,记为
Figure GDA00025873460500001219
将剩余的骨架笔段进行延伸,至与骨架笔段
Figure GDA00025873460500001220
相交;删除毛刺笔段s。如图32所示,最后得出了“笔画粘连毛刺”的完整处理效果,可以看到笔画粘连毛刺笔段被处理为正常的竖笔画。
(三)对于长笔段类型的处理调整
定义:对于某个坐标点P,如果它同时是三个长笔段的端点,那么就将其称为“三叉点”。对于骨架笔段中的每一个三叉点,按照如下方式处理:(1)假设与三叉点H连接的长骨架笔段集合为
Figure GDA0002587346050000131
i=1,2,3;(2)对于每一个长骨架笔段
Figure GDA0002587346050000132
删除与三叉点H相邻、且长度为W×αH(αH为缩放因子)的部分骨架信息;(3)遍历任意两个长骨架笔段
Figure GDA0002587346050000133
Figure GDA0002587346050000134
如果它们能够拟合为一条平滑的直线段,那么使用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相邻的骨架笔段集合记为
Figure GDA0002587346050000151
将分组G的包围盒中心(图44中灰色实心圆点)坐标记为为(m,n)。按照本发明的技术方案,对G进行如下处理:
1)对于每一个骨架笔段
Figure GDA0002587346050000152
删除与G相邻的部分骨架信息。本实施方式中,删除长度为如下两个数值中较小的一个:笔画平均宽度W的1.5倍、骨架笔段
Figure GDA0002587346050000153
路径长度的20%;
2)对于SG中的所有骨架笔段,将靠近G一端的端点记为
Figure GDA0002587346050000154
将这些端点处的切向量记为
Figure GDA0002587346050000155
在本实施例中根据如下规则,选择可以合并的骨架笔段:
i.对于两个骨架笔段
Figure GDA0002587346050000156
Figure GDA0002587346050000157
如果它们同时满足如下两个条件,那么就判定它们可以合并:(1)切向量
Figure GDA0002587346050000158
Figure GDA0002587346050000159
的夹角大于阈值170度;(2)
Figure GDA00025873460500001510
Figure GDA00025873460500001511
Figure GDA00025873460500001512
所定义直线”的距离小于W×0.875;
ii.对于两个骨架笔段
Figure GDA00025873460500001513
Figure GDA00025873460500001514
如果它们同时满足如下两个条件,那么就判定它们可以合并:(1)
Figure GDA00025873460500001515
Figure GDA00025873460500001516
与G中同一个短笔段相邻,且切向量
Figure GDA00025873460500001517
Figure GDA00025873460500001518
的夹角大于160度;(2)
Figure GDA00025873460500001519
Figure GDA00025873460500001520
Figure GDA00025873460500001521
所定义直线”的距离小于W。
3)根据上述判定规则可知,图44中的
Figure GDA00025873460500001522
Figure GDA00025873460500001523
可以合并,
Figure GDA00025873460500001524
Figure GDA00025873460500001525
可以合并。对于
Figure GDA00025873460500001526
Figure GDA00025873460500001527
合并方法如下:根据两个笔段的端点以及端点处的切向量,构造一条Hermit曲线,将
Figure GDA00025873460500001528
Figure GDA00025873460500001529
连接起来,合并为一条笔段。同理将
Figure GDA00025873460500001530
Figure GDA00025873460500001531
合并为一条骨架笔段;
4)将骨架笔段
Figure GDA00025873460500001532
Figure GDA00025873460500001533
进行延长。沿着每个笔段端点处的切向量方向进行延伸,直到与直线y=m或x=n相交为止。
“宋”字内部短笔段组处理前后的结果对比如图45所示。
(b)毛刺类型的处理
在图43中,毛刺笔段为M1N1和M2N2。根据发明方案的描述可知,M1N1为笔画粘连毛刺,M2N2为笔画转折毛刺。如图46所示,对毛刺笔段M1N1进行处理的步骤如下:
1)将毛刺笔段M1N1的长度记为LM1N1。与M1N1相邻的骨架笔段记为
Figure GDA00025873460500001534
Figure GDA00025873460500001535
2)对于每个骨架笔段
Figure GDA00025873460500001536
删除与M1N1相邻的部分骨架信息。本实施方式中,删除长度为如下两个数值中较小的一个:LM1N1×0.5,骨架笔段
Figure GDA0002587346050000161
路径长度的40%。这样,得到端点为A,B的两个笔段
Figure GDA0002587346050000162
3)将毛刺笔段M1N1延长,得到与笔画外边界相距0.5×W的点C;
4)计算AC和
Figure GDA0002587346050000163
之间的夹角,BC和
Figure GDA00025873460500001627
之间的夹角。选择夹角较大的一组,进行合并。如图31,这里可以确定:AC和
Figure GDA0002587346050000164
可以合并为一条笔段。所以,利用点A、C的坐标和
Figure GDA0002587346050000165
的切线方向、M1N1的切线方向,计算一条Hermit曲线,将他们连接起来;
5)将
Figure GDA0002587346050000166
延长至与新骨架笔段相交;
如图47所示,对毛刺笔段M2N2的处理步骤如下:
1)将毛刺M2N2延长至笔画外边界,计算其长度为LM2N2。假设与M2N2相邻的骨架笔段为
Figure GDA0002587346050000167
Figure GDA0002587346050000168
2)对于每一个骨架笔段
Figure GDA0002587346050000169
删除与M2N2相邻的部分骨架信息。在本实施方式中,删除长度为如下两个数值中较小的一个:LM2N2×0.5,骨架笔段
Figure GDA00025873460500001610
路径长度的40%。这样,得到端点为A、B的两个笔段
Figure GDA00025873460500001611
3)在延长的毛刺笔段上,找到与笔画外边界相距0.5×W的点C;
4)利用Hermit曲线将点A、C连接,并与笔段
Figure GDA00025873460500001612
合并,形成新的骨架笔段;
利用Hermit曲线将点B、C连接,并与
Figure GDA00025873460500001613
合并,形成新的骨架笔段。
图48是毛刺笔段在处理前后的结果对比。
(c)长笔段类型的处理
在图43中,存在由三个长笔段相邻形成的三叉点H。将其放大后,如图49所示。这里将与三叉点H邻接的骨架笔段记为
Figure GDA00025873460500001614
按照本发明的技术方案,对H进行如下调整:
1)对于每一个骨架笔段
Figure GDA00025873460500001615
删除与点H相邻的部分骨架信息。在本实施方式中,删除长度为如下两个数值中较小的一个:W×1.2,骨架笔段
Figure GDA00025873460500001616
路径长度的40%;
2)计算
Figure GDA00025873460500001617
Figure GDA00025873460500001618
之间的夹角,
Figure GDA00025873460500001619
Figure GDA00025873460500001620
之间的夹角,
Figure GDA00025873460500001621
Figure GDA00025873460500001622
之间的夹角。找到夹角最大的两个笔段,这里为
Figure GDA00025873460500001623
Figure GDA00025873460500001624
利用Hermit曲线连接
Figure GDA00025873460500001625
从而将它们合并为一个笔段;
3)将剩余笔段(这里为
Figure GDA00025873460500001626
),延伸至与其他笔段相交。
图50是“宋”字长笔段类型处理前后结果对比图。
至此,完成了对“宋”字中所有骨架笔段的消歧处理。
七、骨架笔段的排序
如图50右图所示,经过消歧处理后得到的骨架笔段,是“宋”字最终的、无歧义的骨架笔段。这些骨架笔段与标准字库中“宋”字的标准笔段存在一一对应关系。在这里,本实施方式选择松弛匹配算法(Cheng F H,Hsu W H,Kuo M C.Recognition of handprintedchinese characters via stroke relaxation[J].Pattern Recognition,1993,26(4):579-593)实现对骨架笔段和标准字笔段的匹配。然后,根据匹配结果对骨架笔段及笔段内的点序列进行重新排序,最终得到按照书写顺序排列的汉字骨架笔段序列。
八、动态还原
匹配排序结束后,本发明实施例就得到了按正确书写顺序排列的“宋”字骨架笔段。每个笔段中的点序列,也是按照正确书写顺序由起始位置至终止位置排列的。按照本发明技术方案中的内容,便可完成对“宋”字书写过程的动态还原。
本发明实施例还提供了一种汉字骨架笔段的处理装置,该装置可以通过获取单元512、确定单元514、判断模块516、处理模块518实现其功能。需要说明的是,本发明实施例的一种汉字骨架笔段的处理装置可以用于执行本发明实施例所提供的一种汉字骨架笔段的处理方法,本发明实施例的一种汉字骨架笔段的处理方法也可以通过本发明实施例所提供的一种汉字骨架笔段的处理装置来执行。图51是根据本发明实施例的一种汉字骨架笔段的处理装置的示意图。如图51所示,一种汉字骨架笔段的处理装置包括:
获取模块512,用于获取每个汉字的所有骨架笔段;
确定模块514,用于确定所有骨架笔段的平均宽度值;
判断模块516,用于根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;
处理模块518,用于根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种汉字骨架笔段的处理方法,其特征在于,包括:
获取每个汉字的所有骨架笔段;
确定所有骨架笔段的平均宽度值;
根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;
所述根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,包括:判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为毛刺类型,和/或;判断所述骨架笔段的两端各自有两个相邻接的骨架笔段,则所述骨架笔段的类型为内部短笔段类型,和/或;判断所述骨架笔段不符合毛刺类型和所述内部短笔段类型的邻接属性,则所述骨架笔段的类型为长笔段类型;
根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
2.根据权利要求1所述的方法,其特征在于,获取每个汉字的所有骨架笔段包括:
获取每个汉字的二值图像,其中,所述汉字的骨架与所述二值图像中书写笔迹的中心线相重合;
遍历所述汉字的骨架像素获得以笔画端点为拆分点的第一骨架笔段,其中,所述笔画端点是指:在所述端点的8连通区域中其他骨架像素数量不为2;
遍历所述第一骨架笔段获得以笔画拐点为拆分点的第二骨架笔段,其中,所述笔画拐点是指:在所述端点的8连通区域中其他骨架像素数量等于2,并具有转折性。
3.根据权利要求1所述的方法,其特征在于,确定所有骨架笔段的平均宽度值包括:
筛选并获得长度符合预定要求的第三骨架笔段;
计算所述第三骨架笔段在各自中点处的笔迹宽度;
将所述第三骨架笔段平均笔迹宽度作为所有骨架笔段的平均宽度值。
4.根据权利要求1所述的方法,其特征在于,判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为毛刺类型包括:
判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为初始毛刺类型;
判断所述骨架笔段的长度是否小于第一阈值,其中,所述第一阈值是根据骨架笔段的平均宽度值来确定的;
如果所述骨架笔段的长度小于第一阈值,则所述骨架笔段的类型为毛刺类型;
如果所述骨架笔段的长度大于等于第一阈值,则再判断所述骨架笔段的长度是否小于第二阈值以及所述骨架笔段的宽度是否大于第三阈值,如果是则所述骨架笔段的类型为毛刺类型。
5.根据权利要求1所述的方法,其特征在于,判断所述骨架笔段的两端各自有两个相邻接的骨架笔段,则所述骨架笔段的类型为内部短笔段类型包括:
判断所述骨架笔段的一端有两个邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为初始内部短笔段类型;
判断所述骨架笔段的长度是否小于第四阈值,其中,所述第四阈值是根据骨架笔段的平均宽度值来确定的;
如果所述骨架笔段的长度小于第四阈值,则所述骨架笔段的类型为内部短笔段类型;
如果所述骨架笔段的长度大于等于第四阈值,则再判断所述骨架笔段的长度是否小于第五阈值以及所述骨架笔段的宽度是否大于第六阈值,如果结果为是则所述骨架笔段的类型为毛刺类型;
如果结果为否,则再判断所述骨架笔段是否满足三角形法则;
如果满足三角形法则,则所述骨架笔段的类型为内部短笔段类型。
6.根据权利要求5所述的方法,其特征在于,判断所述骨架笔段是否满足三角形法则包括:
在所述骨架笔段的相邻骨架笔段上寻找与所述骨架笔段的端点距离为预定长度的检测点,其中,所述预定长度是待检测骨架笔段的长度,所述端点是待检测骨架笔段的两端;
将所述骨架笔段的两端点和每个检测点分别构成一个三角形;
检测所述三角形的范围内汉字的二值图像是否均为前景像素;
如果是,则所述骨架笔段满足三角形法则;
如果否,则所述骨架笔段不满足三角形法则。
7.根据权利要求1所述的方法,其特征在于,根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段之后包括:
将所述汉字骨架笔段与标准汉字的标准笔段进行比对,其中,所述标准汉字按照笔画书写顺序存储在标准汉字库中,所述标准笔段是不含拐点的连续平滑线段;
根据标准笔段的书写顺序排列所述汉字骨架笔段的书写顺序并以动画形式显示。
8.一种汉字骨架笔段的处理装置,其特征在于,包括:
获取模块,用于获取每个汉字的所有骨架笔段;
确定模块,用于确定所有骨架笔段的平均宽度值;
判断模块,用于根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,其中,所述骨架笔段的类型是毛刺类型、内部短笔段类型和长笔段类型;所述根据每个骨架笔段的邻接属性和平均宽度值判断所述骨架笔段的类型,包括:判断所述骨架笔段的一端没有邻接的骨架笔段,另一端有两个邻接的骨架笔段,则所述骨架笔段的类型为毛刺类型,和/或;判断所述骨架笔段的两端各自有两个相邻接的骨架笔段,则所述骨架笔段的类型为内部短笔段类型,和/或;判断所述骨架笔段不符合毛刺类型和所述内部短笔段类型的邻接属性,则所述骨架笔段的类型为长笔段类型;
处理模块,用于根据所述骨架笔段的类型分别对所述骨架笔段进行消歧处理得到与标准汉字相符合的汉字骨架笔段。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的方法。
CN201811058584.2A 2018-09-11 2018-09-11 汉字骨架笔段的处理方法、处理装置及存储介质 Active CN109409211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811058584.2A CN109409211B (zh) 2018-09-11 2018-09-11 汉字骨架笔段的处理方法、处理装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811058584.2A CN109409211B (zh) 2018-09-11 2018-09-11 汉字骨架笔段的处理方法、处理装置及存储介质

Publications (2)

Publication Number Publication Date
CN109409211A CN109409211A (zh) 2019-03-01
CN109409211B true CN109409211B (zh) 2020-09-18

Family

ID=65464026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811058584.2A Active CN109409211B (zh) 2018-09-11 2018-09-11 汉字骨架笔段的处理方法、处理装置及存储介质

Country Status (1)

Country Link
CN (1) CN109409211B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340810B (zh) * 2020-05-21 2020-08-25 深圳市儿童医院 一种汉字书写质量智能评价方法
CN112597876B (zh) * 2020-12-20 2024-03-26 湖北工业大学 基于特征融合的书法汉字评判方法
CN113642542B (zh) * 2021-10-14 2022-02-08 中国科学院自动化研究所 基于位置约束的手写汉字同名笔画提取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156721A (zh) * 2014-07-31 2014-11-19 南京师范大学 一种基于模板匹配的脱机汉字笔画提取方法
CN104951788A (zh) * 2015-07-08 2015-09-30 上海海事大学 一种书法作品中单字笔画的提取方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063723B (zh) * 2014-06-25 2017-06-06 北京语言大学 脱机手写汉字的笔画还原方法及装置
CN104156730B (zh) * 2014-07-25 2017-12-01 山东大学 一种基于骨架的抗噪声汉字特征提取方法
CN104268915B (zh) * 2014-09-19 2017-08-25 华南理工大学 一种手写汉字的实时轮廓美化方法
US9824266B2 (en) * 2014-11-28 2017-11-21 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156721A (zh) * 2014-07-31 2014-11-19 南京师范大学 一种基于模板匹配的脱机汉字笔画提取方法
CN104951788A (zh) * 2015-07-08 2015-09-30 上海海事大学 一种书法作品中单字笔画的提取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Novel Approach for Stroke Extraction of Off-Line Chinese Handwritten Characters Based on Optimum Paths;Jun T.等;《2012 International Conference on Frontiers in Handwriting Recognition》;20130201;第786-790页 *
基于小波变换的图像汉字笔划特征提取方法;訾兴建 等;《计算机工程与应用》;20121231;第48卷(第12期);第168-172页 *

Also Published As

Publication number Publication date
CN109409211A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
AU2006252025B2 (en) Recognition of parameterised shapes from document images
CN110659644B (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
CN109409211B (zh) 汉字骨架笔段的处理方法、处理装置及存储介质
CN105528614A (zh) 一种漫画图像版面的识别方法和自动识别系统
CN110188778B (zh) 基于影像提取结果的居民区要素轮廓规则化方法
US8670615B2 (en) Refinement of segmentation markup
CN107944451B (zh) 一种藏文古籍文档的行切分方法及系统
CN101840582B (zh) 一种地籍图地块的边界数字化方法
CN113158977B (zh) 改进FANnet生成网络的图像字符编辑方法
Al Abodi et al. An effective approach to offline Arabic handwriting recognition
CN112364834A (zh) 一种基于深度学习和图像处理的表格识别的还原方法
CN115392188A (zh) 基于不可编辑的图文类图像生成可编辑文档的方法及装置
Narang et al. Drop flow method: an iterative algorithm for complete segmentation of Devanagari ancient manuscripts
CN109543525B (zh) 一种通用表格图像的表格提取方法
CN109325483B (zh) 内部短笔段的处理方法和装置
Park et al. A method for automatically translating print books into electronic Braille books
CN109359529B (zh) 长笔段的处理方法和装置
CN109410291B (zh) 毛刺类型笔段的处理方法和装置
Mostafa An adaptive algorithm for the automatic segmentation of printed Arabic text
JP5767549B2 (ja) 画像処理装置、画像処理方法、およびプログラム
CN111860173A (zh) 一种基于弱监督的遥感图像地物要素提取方法及系统
CN115841671B (zh) 一种书法字骨架矫正方法、系统及存储介质
JP5824309B2 (ja) 画像処理装置、画像処理方法、およびプログラム

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