CN109919158A - 一种基于汉字轮廓的笔画分离方法 - Google Patents
一种基于汉字轮廓的笔画分离方法 Download PDFInfo
- Publication number
- CN109919158A CN109919158A CN201811339707.XA CN201811339707A CN109919158A CN 109919158 A CN109919158 A CN 109919158A CN 201811339707 A CN201811339707 A CN 201811339707A CN 109919158 A CN109919158 A CN 109919158A
- Authority
- CN
- China
- Prior art keywords
- point
- profile
- characteristic
- stroke
- characteristic point
- 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.)
- Withdrawn
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供一种基于汉字轮廓的笔画分离方法,包括:提取汉字字符的轮廓,确定内轮廓、外轮廓,获得组合轮廓集合;提取笔画分离的轮廓候选特征点;针对任意一个候选特征点;计算特征点集合中任意两个特征点之间的距离,及每个特征点的入向量和出向量,并初始化特征点对列表;在任意两个不同的特征点之间,如果第一特征点和第二特征点之间的距离不大于阈值时,计算两特征点对应的余弦夹角;如果满足预设条件,则将第一特征点和第二特征点加入到特征点对集合中;基于轮廓集合、特征点集合和特征点对集合进行笔画分离。应用本发明实施例,通过特征点位置检测和角度检测,提高有效特征点筛选的准确率,并提高了独立笔画提取的准确率。
Description
技术领域
本发明涉及汉字轮廓提取技术领域,特别是涉及一种基于汉字轮廓的笔画分离方法。
背景技术
汉字拥有着近五千年的悠久进化史,且应用广泛,随着计算机和信息技术的发展,人们对各种不同风格字体的需求越来越迫切而多样化。
尽管目前有多种方法用于分离汉字的独立自然笔画,但相对分离准确率和效率较低。由于汉字书法与印刷字体的多样性,生成一款优美的计算机矢量字库需要大量的人工,效率较低。就目前的TTF等矢量字库中,只有个别字库具有独立笔画轮廓信息可供教学使用,且只具有常用的简体字笔画信息。这为多种风格字体的教学应用带来了许多困难,特别是随着计算机技术和网络技术的发展,汉字教学也从一对一的言传身教的导师模式,演变为计算机和互联网+的自主学习模式,由计算机演示书写过程和要点,学生通过观摩和临摹自主学习。同时,在基于汉字的艺术创作时,将汉字笔画与绘画技巧融合在一起,可产生许多益智类的汉字画艺术品,给人带来美感的同时,也让人增长了知识和智慧。
目前独立笔画的提取方法主要分为基于汉字轮廓的提取方法、基于骨架的提取方法、基于书写规则的提取方法,或基于模板匹配的提取方法,以及基于轮廓和骨架信息融合的提取方法。已发表的研究成果表明,这些方法对一些特定的字集或字体有效,但准确率都有等提高。这是因为在这些方法的轮廓特征点查找和配对、骨架点的提取和优化算法都会存在误差,导致汉字的独立笔画提取准确率有待提高。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于汉字轮廓的笔画分离方法,旨在通过通过特征点位置检测和角度检测,提高有效特征点筛选的准确率,以及提出特征点向量对的匹配算法和轮廓点单方向搜索算法,提高笔画提取的准确率。
为实现上述目的及其他相关目的,本发明提供一种基于汉字轮廓的笔画分离方法,所述方法包括步骤:
基于图形引擎的路径,提取汉字字符的轮廓;
基于所提取的轮廓,确定内轮廓、外轮廓,获得轮廓集合;
针对任意的连续三个轮廓点,判断中间轮廓点是否在其前一个轮廓点和后一个轮廓点的连线的右边;如果是,确定该中间轮廓点为候选特征点;
针对任意一个候选特征点,判断该候选特征点与其前一个轮廓点和后一个轮廓点所构成的余弦夹角是否位于预设角度范围内;如果是,则确定该候选特征点为特征点,获得特征点集合;
计算所述特征点集合中任意两个特征点之间的距离,及每个特征点的入向量和出向量,并初始化特征点对列表;
在任意两个不同的特征点之间,如果第一特征点Pi和第二特征点Pj之间的距离不大于阈值时,计算第一特征点Pi的入向量与第二特征点Pj的出向量之间的夹角θ12Inout、以及计算第一轮廓点与第一特征点和第二特征点之间所形成的第一余弦夹角、第一特征点与第二特征点和第二轮廓点之间所形成的第二余弦夹角;其中,第一轮廓点为第一特征点的前一个轮廓点,第二轮廓点为第二特征点的后一个轮廓点;
判断是否满足预设条件,所述预设条件包括:|θ12Inout|<THAngle1,|180-∠(Pilast,Pi,Pj)|<THAngle2,|180-∠(Pi,Pi,Pjnext)|<THAngle2.,其中,THAngle1、THAngle2均为预先设置的角度值,∠(Pilast,Pi,Pj)是第一余弦夹角,∠(Pi,Pj,Pjnext)是第二余弦夹角,
如果满足,则将所述第一特征点和所述第二特征点加入到特征点对集合中;
基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离。
本发明的一种实现方式中,所述确定内轮廓、外轮廓的步骤,包括:
确定子轮廓;
如果子轮廓内部点的数量在预设比例以上均包括在另一轮廓上,则该另一轮廓为该子轮廓的父轮廓;
确定一个父轮廓及其子轮廓所构成的笔画轮廓为一个复合轮廓;
由相连笔画构成的封闭区域中的父轮廓称为外轮廓,该父轮廓的子轮廓称为内轮廓,且内轮廓点按逆时针顺序排列,外轮廓则按顺时针顺序排列。
本发明的一种实现方式中,所述基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离的步骤,包括:
S31:初始化存放提取笔画队列、第一笔画轮廓点集合S(n)(n=1)为空;
S32:从所述轮廓集合中取出任意一个未处理的复合轮廓OL(k)(k=1),并按轮廓先后顺序设置标志,对标记普通轮廓点、特征点集合中包含的特征点、特征点集合中每个未处理的特征点进行标志;
S33.从复合轮廓OL(k)集合中查找一个普通点Pm,加入到第一笔画轮廓点集合S(n)中,并设置Pm已处理标志为0,特征点计数器FCounter为0,取Pm后续相邻点Ps,加入到S(n)中;
S34.判断Ps是否属于特征点对集合FL中特征点向量对起始点,如果是,执行S35;否则执行S36;
S35.设置特征点计数器FCounter为1,检查以Ps起始的特征点对每个终点Pes,找出最接近当前笔画轮廓轨迹方向的终点Pei,并将该点加入到S(n)中,并将Ps更新为Pei,设置特征点计数器FCounter为2;
S36.判断Ps是否属于FL集合中特征点对终点,如果是,则设置FCounter为0,将Ps加入S(n)中,并将Ps的后续相邻点Pn作为新的Ps;
S37.判断Ps如果不属于FL集合中的特征点,则为普通轮廓点Pc,如果Pc为未处理点,则加入S(n)中,重复S34—S37;如果Pc为已处理点,说明该笔画已分离完成,则结束该笔画的搜索;
S38.将S(n)加入到SS队列中,新建笔画S(n)(n=n+1),重复S33,直至OL(k)中没有普通点,说明该复合轮廓中笔画已分离完成;
S39.更新k=k+1,重复S32-S39;直至所有的复合轮廓都处理完成。
如上所述,本发明实施例提供的一种基于汉字轮廓的笔画分离方法,通过特征点位置检测和角度检测,提高有效特征点筛选的准确率,且通过所提出的特征点向量对的匹配算法和轮廓点单方向搜索算法,提高笔画提取的准确率。
附图说明
图1是本发明实施例的一种基于汉字轮廓的笔画分离方法的一种流程示意图。
图2是本发明实施例的一种基于汉字轮廓的笔画分离方法的第一种实施例示意图。
图3是本发明实施例的一种基于汉字轮廓的笔画分离方法的第二种实施例示意图。
图4A是本发明实施例的一种基于汉字轮廓的笔画分离方法的第三种实施例示意图。
图4B是本发明实施例的一种基于汉字轮廓的笔画分离方法的第四种实施例示意图。
图5是本发明实施例的一种基于汉字轮廓的笔画分离方法的第五种实施例示意图。
图6是本发明实施例的一种基于汉字轮廓的笔画分离方法的第六种实施例示意图。
图7是本发明实施例的一种基于汉字轮廓的笔画分离方法的第七种实施例示意图。
图8是本发明实施例的一种基于汉字轮廓的笔画分离方法的第八种实施例示意图。
图9是本发明实施例的一种基于汉字轮廓的笔画分离方法的第九种实施例示意图。
图10是本发明实施例的一种基于汉字轮廓的笔画分离方法的第十种实施例示意图。
图11是本发明实施例的一种基于汉字轮廓的笔画分离方法的第十一种实施例示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1-11。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本发明时候实施例提供一种基于汉字轮廓的笔画分离方法,所述方法包括步骤:
S101,基于图形引擎的路径,提取汉字字符的轮廓。
本发明实施例中,首先基于Windows图形引擎GDI+的路径技术,通过C#编程获取矢量楷体TrueType字库中的汉字轮廓,提取一二级汉字字符的轮廓,并保存在汉字轮廓点文件中,该过程为本领域技术人员的常规实现手段,本发明实施例在此不做赘述。
S102,基于所提取的轮廓,确定内轮廓、外轮廓,获得轮廓集合。
本发明的一种实现方式中,所述确定内轮廓、外轮廓的步骤,包括:
确定子轮廓;
如果子轮廓内部点的数量在预设比例以上均包括在另一轮廓上,则该另一轮廓为该子轮廓的父轮廓;
确定一个父轮廓及其子轮廓所构成的笔画轮廓为一个复合轮廓;
由相连笔画构成的封闭区域中的父轮廓称为外轮廓,该父轮廓的子轮廓称为内轮廓,且内轮廓点按逆时针顺序排列,外轮廓则按顺时针顺序排列。
本发明的实施例中,首先进行定义父轮廓、子轮廓,如果一个轮廓OutLine1的所有点都被另一轮廓OutLine2包含,则OutLine1为子轮廓。
复合轮廓:一个父轮廓可以包含几个子轮廓,构成若干笔画的轮廓,称为复合轮廓。且一个父轮廓不必成为其它轮廓的子轮廓,如“回”字中的内“口”的为一个复合轮廓,外“口”为另一个复合轮廓。
内轮廓、外轮廓:由相连笔画构成的封闭区域中的父轮廓称为外轮廓,子轮廓称为内轮廓,内轮廓点按逆时针顺序排列,外轮廓则按顺时针顺序排列。
复合轮廓配对算法:
Step 1:判定父子轮廓。任取两个轮廓,如果一个轮廓L1上的点属于另一个轮廓L2的内部点的数量在80%以上(有些轮廓具有交叉点),则判定L2为L1的子轮廓,L2为L1的父轮廓。
Step 2:判定内外轮廓。如果一个轮廓L3没有父子轮廓,则判定L3为独立轮廓;如果一个轮廓L4只有子轮廓,则判定L4为外轮廓;如果一个轮廓只有父轮廓,则判定为内轮廓;如果一个轮廓既有子轮廓也有父轮廓,则父轮廓的个数为奇数时,为内轮廓,为偶数时为外轮廓。如“回字”内外共有四个轮廓,两个内轮廓两个外轮廓。
Step 3:判定复合轮廓。一个轮廓与其父轮廓构成一个复合轮廓集。一个复合轮廓只有一个外轮廓,可能有多个内轮廓。另外,独立轮廓也作为一个复合轮廓处理。
至此,根据步骤S102,确定内轮廓、外轮廓,可以获得组合轮廓集合,一个汉字的轮廓集合OL包含每个外轮廓与内轮廓构成的复合轮廓信息。每个复合轮廓作为一个提取独立笔画的基本单位。如图2和图3所示。
S103,针对任意的连续三个轮廓点,判断中间轮廓点是否在其前一个轮廓点和后一个轮廓点的连线的右边;如果是,确定该中间轮廓点为候选特征点。
特征点是指两相邻笔画交叉或粘连处轮廓点中的拐角点,其用于定位笔画的分割位置。特征点筛选使用右侧法和角度法共同决定。
需要说明的是,右侧法,首先是根据内外轮廓点的逆顺时针排列顺序,楷体汉字所有的候选特征点都处于轮廓点顺序方向的右侧。外轮廓点按顺时针方向排列,特征点处于前后两点连线的右侧;内轮廓点按逆时针方向排列,同样处于前后两点连线的右侧。因此,在提取可能的特征点时,只需要计算连续三个轮廓点的中间点是否在前后两点连线的右边即可。设轮廓上连续三点(P1,P3,P2)的坐标分别为P1(x1,y1)、P2(x2,y2)、P3(x3,y3),特征点计算公式如式(1)所示。
S(P1,P3,P2)=(x1-x3)*(y2-y3)-(y1-y3)*(x2-x3) (1)
如果S>0,则P2位于P1和P3连线的右侧;如果S<0,则P2位于P1和P3连线的d左侧;如果S=0,则P2位于P1和P3连线上。由此可计算出所有的提取笔画分离的轮廓候选特征点。如图4A所示。
S104,针对任意一个候选特征点,判断该候选特征点与其前一个轮廓点和后一个轮廓点所构成的余弦夹角是否位于预设角度范围内;如果是,则确定该候选特征点为特征点,获得特征点集合。
考虑到楷体字的书写特殊性,右侧筛选将所有的特征点包含其中。在此基础上,再使用角度筛选。观察“十”和“丁”字型交叉点处的大部分特征点,示例性的特征点m,与其前后相邻点构成的余弦夹角∠(Pmlast,Pm,Pmnext)接近于90度。对于“木”、“石”、“衣”等粘连型的交叉点,这个角度可能更大或更小。为全部取得可能的特征点,这个角度阈值可以取的范围大一些,发明中的算法使用角度范围(预设角度范围为0—150)度。
筛选后的特征点如图4B所示。大部分的特征点都是真实的笔画相连处的特征点,而处于“横折”拐角部分的特征点则是伪特征点。对于“横折”处的伪特征点(处于内轮廓的右上角,即第一象限内)在匹配角点对时作特例判定去除。
S105,计算所述特征点集合中任意两个特征点之间的距离,及每个特征点的入向量和出向量,并初始化特征点对列表。
特征点定义为两相邻笔画交叉或粘连处的轮廓拐角点。提取特征点使用右侧法和角度法共同决定。右侧法是根据内外轮廓点的逆顺时针排列顺序,汉字轮廓上所有的候选特征点都处于轮廓点顺序方向的右侧。外轮廓点按顺时针方向排列,特征点处于前后两点连线的右侧;内轮廓点按逆时针方向排列,同样处于前后两点连线的右侧。因此,在提取可能的特征点时,只需要计算连续三个轮廓点的中间点是否在前后两点连线的右边即可。筛选后的特征点如附图4A所示。
S106,在任意两个不同的特征点之间,如果第一特征点Pi和第二特征点Pj之间的距离不大于阈值时,计算第一特征点Pi的入向量与第二特征点Pj的出向量之间的夹角θ12Inout、以及计算第一轮廓点与第一特征点和第二特征点之间所形成的第一余弦夹角、第一特征点与第二特征点和第二轮廓点之间所形成的第二余弦夹角;其中,第一轮廓点为第一特征点的前一个轮廓点,第二轮廓点为第二特征点的后一个轮廓点。
S107,判断是否满足预设条件,如果满足,执行S108。
所述预设条件包括:|θ12Inout|<THAngle1,|180-∠(Pilast,Pi,Pj)|<THAngle2,|180-∠(Pi,Pi,Pjnext)|<THAngle2.,其中,THAngle1、THAngle2均为预先设置的角度值,∠(Pilast,Pi,Pj)是第一余弦夹角,∠(Pi,Pj,Pjnext)是第二余弦夹角。
则将特征点对<Pi,Pj>加入到特征点对FL集合中。重复该步骤直到所有的两两特征点都检查完毕。删除已配对特征点,保留尚未配对的特征点子集FPrest。
S108,则将所述第一特征点和所述第二特征点加入到特征点对集合中。
将特征点对<Pi,Pj>加入到FL集合中。重复S107步骤直到所有的两两特征点都检查完毕。删除已配对特征点,保留尚未配对的特征点子集FPrest。
检查尚未配对的特征点子集FPrest集合中的两两特征点Pi和Pj(i<>j),计算Pi的出向量与Pj的入向量之间的夹角θOutin12如果满足以下条件之一:
|180-∠(Pilast,Pi,Pj)|<THAngle2,且|θ12Inout|<THAngle1;
|180-∠(Pi,Pi,Pjnext)|<THAngle2,且|θOutin12|<THAngle1。
则将特征点对<Pi,Pj>加入到特征点对FL集合中。
检查特征点对FL集合中的特征点对,出现以下几种情况:
(1)如果同时存在<P1,P2>、<P2,P3>、<P3,P4>三个特征点对,则增加<P4,P1>,形成一个特征点环。
(2)如果<P3,P4>没有发现,则增加<P3,P1>、<P1,P3>、<P3,P2>、<P2,P1>。如图4中特征点(P10,P11,P12)所示,当有三个笔画共享一个区域时,会出现这种情况。
(3)如果只有<P1,P2>,则增加特征点对<P2,P1>。如图4中的(P5,P6)所示的情况,主要包含“丁”字型及其变形,如“人”字型。
检查类“冂”、“口”字型左上角单特征点Pi,如图4中P7位置。对轮廓上所有点Pj,Pj与Pi之间的距离小于阈值THDist2,Pi点处的余弦夹角接近90度,且<(Pj,Pi,Pinext)>近似共线。即Pj同时满足以下条件:
(1)||Pi-Pj||<THDist2;
(2)|∠(Pilast,Pi,Pj)-90|<THAngle2;
(3)|180-∠(Pj,Pi,Pinext)|<THAngle2.
则将特征点对<P1,P2>和<P2,P1>同时加入到特征点对FL集合中。
除以上几种情况外,剩余的特征点Pi与普通点Pj之间只要满足条件||Pj-Pi||<THDist3,即可加入FL集合中。对于类“口”、“月”形右上角特征可利用汉字特征点,通过判定特征点在轮廓区域的第一象限内,直接去除。
角度法是充分考虑到楷体字的书写特殊性,右侧筛选将所有的特征点包含其中。在此基础上,再使用角度筛选。观察“十”和“丁”字型交叉点处的大部分特征点,与其前后相邻点构成的余弦夹角接近于90度。对于“木”、“石”、“衣”等粘连型的交叉点,这个角度可能更大或更小。为全部取得可能的特征点,这个角度阈值可以取的范围大一些,算法使用角度范围(0—150)度。筛选后的特征点如附图4B所示。
最后遍历FL集合中所有特征点向量对,并去除重复的特征点向量对。至此,完成所有的特征点对的匹配,且每个非环形特征点对都有顺逆时针方向,这为后续的顺时针搜索笔画轮廓奠定了基础。
对于两笔画“十”字型交叉处,特征点对应与其前后相邻点四点共线,且一般有四个点形成一个环,如附图5中1、2、3和4特征点环;对于两笔画“丁”和“人”字型粘连处,特征点对只有一个,如图5中的5和6特征点对;对于“才”和“木”字等更多笔画交叉处,特征点对可能更多,形成多个特征点对。进一步提高特征点对提取的准确性和多样性。
S109,基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离。
本发明的一种实现方式中,所述基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离的步骤,包括:
S31:初始化存放提取笔画队列、第一笔画轮廓点集合S(n)(n=1)为空;
S32:从所述轮廓集合中取出任意一个未处理的复合轮廓OL(k)(k=1),并按轮廓先后顺序设置标志,标记普通轮廓点为1,特征点集合中包含的特征点为2;特征点集合中每个特征点对未处理标志为1;
S33.从复合轮廓OL(k)集合中查找一个普通点Pm,加入到第一笔画轮廓点集合S(n)中,并设置Pm已处理标志为0,特征点计数器FCounter为0,取Pm后续相邻点Ps,加入到S(n)中;
S34.判断Ps是否属于FL集合中特征点向量对起始点,如果是,执行S35;否则执行S36;
S35.设置特征点计数器FCounter为1,检查以Ps起始的特征点对每个终点Pes,找出最接近当前笔画轮廓轨迹方向的终点Pei,并将该点加入到S(n)中,并将Ps更新为Pei,设置特征点计数器FCounter为2;
S36.判断Ps是否属于FL集合中特征点对终点,如果是,则设置FCounter为0,将Ps加入S(n)中,并将Ps的后续相邻点Pn作为新的Ps;
S37.判断Ps如果不属于FL集合中的特征点,则为普通轮廓点Pc,如果Pc为未处理点,则加入S(n)中,重复S34—S37;如果Pc为已处理点,说明该笔画已分离完成,则结束该笔画的搜索;
S38.将S(n)加入到SS队列中,新建笔画S(n)(n=n+1),重复S33,直至OL(k)中没有普通点,说明该复合轮廓中笔画已分离完成;
S39.更新k=k+1,重复S32-S39;直至所有的复合轮廓都处理完成。
笔画分离结果如图6所示,更多示例见图7,算法流程图如图8、图9、图10和图11所示。
提取特征点算法。特征点定义为两相邻笔画交叉或粘连处的轮廓拐角点。提取特征点使用右侧法和角度法共同决定。(1)右侧法是根据内外轮廓点的逆顺时针排列顺序,汉字轮廓上所有的候选特征点都处于轮廓点顺序方向的右侧。外轮廓点按顺时针方向排列,特征点处于前后两点连线的右侧;内轮廓点按逆时针方向排列,同样处于前后两点连线的右侧。因此,在提取可能的特征点时,只需要计算连续三个轮廓点的中间点是否在前后两点连线的右边即可。(2)角度法是充分考虑到楷体字的书写特殊性,右侧筛选将所有的特征点包含其中。在此基础上,再使用角度筛选。大部分的特征点都是真实的笔画相连处的特征点,而处于“横折”拐角部分的特征点则是伪特征点。对于“横折”处的伪特征点(处于内轮廓的右上角,即第一象限内)在匹配角点对时作特例判定去除。
在实施方案中将介绍特征点向量对逐次提取算法,如图10所示。
独立笔画提取算法。首先初始化一个笔画点空集,然后从一个复合轮廓点上取一非特征点作为起始点。然后取其下一点,遇到特征点向量对就直接加入其中。每笔画不可连续取两个特征点向量对。直到遇到起始点,结束一个笔画的提取,从原轮廓点集合中删除该笔画中的轮廓点,但保留特征点向量对。然后重复这个过程,直到一个汉字的所有轮廓点都归入到笔画中。
发明将汉字复合轮廓点拆分为多个笔画部件,不需要更多的先验知识,直接由轮廓点数据驱动。通过大量的实验验证了算法的有效性,对一二级汉字库中的6500个楷体500*500像素大小字进行提取,可达到97.2%的准确率。并且还有提升的空间(自适应改进提取参数)。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (3)
1.一种基于汉字轮廓的笔画分离方法,其特征在于,所述方法包括步骤:
基于图形引擎的路径,提取汉字字符的轮廓;
基于所提取的轮廓,确定内轮廓、外轮廓,获得轮廓集合;
针对任意的连续三个轮廓点,判断中间轮廓点是否在其前一个轮廓点和后一个轮廓点的连线的右边;如果是,确定该中间轮廓点为候选特征点;
针对任意一个候选特征点,判断该候选特征点与其前一个轮廓点和后一个轮廓点所构成的余弦夹角是否位于预设角度范围内;如果是,则确定该候选特征点为特征点,获得特征点集合;
计算所述特征点集合中任意两个特征点之间的距离,及每个特征点的入向量和出向量,并初始化特征点对列表;
在任意两个不同的特征点之间,如果第一特征点Pi和第二特征点Pj之间的距离不大于阈值时,计算第一特征点Pi的入向量与第二特征点Pj的出向量之间的夹角θ12Inout、以及计算第一轮廓点与第一特征点和第二特征点之间所形成的第一余弦夹角、第一特征点与第二特征点和第二轮廓点之间所形成的第二余弦夹角;其中,第一轮廓点为第一特征点的前一个轮廓点,第二轮廓点为第二特征点的后一个轮廓点;
判断是否满足预设条件,所述预设条件包括:|θ12Inout|<THAngle1,|180-∠(Pilast,Pi,Pj)|<THAngle2,|180-∠(Pi,Pi,Pjnext)|<THAngle2.,其中,THAngle1、THAngle2均为预先设置的角度值,∠(Pilast,Pi,Pj)是第一余弦夹角,∠(Pi,Pj,Pjnext)是第二余弦夹角,如果满足,则将所述第一特征点和所述第二特征点加入到特征点对集合中;
基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离。
2.根据权利要求1所述的基于汉字轮廓的笔画分离方法,其特征在于,所述确定内轮廓、外轮廓的步骤,包括:
确定子轮廓;
如果子轮廓内部点的数量在预设比例以上均包括在另一轮廓上,则该另一轮廓为该子轮廓的父轮廓;
确定一个父轮廓及其子轮廓所构成的笔画轮廓为一个复合轮廓;
由相连笔画构成的封闭区域中的父轮廓称为外轮廓,该父轮廓的子轮廓称为内轮廓,且内轮廓点按逆时针顺序排列,外轮廓则按顺时针顺序排列。
3.根据权利要求2所述的基于汉字轮廓的笔画分离方法,其特征在于,所述基于所述轮廓集合、所述特征点集合和所述特征点对集合进行笔画分离的步骤,包括:
S31:初始化存放提取笔画队列、第一笔画轮廓点集合S(n)(n=1)为空;
S32:从所述轮廓集合中取出任意一个未处理的复合轮廓OL(k)(k=1),并按轮廓先后顺序设置标志,对普通轮廓点、特征点集合中包含的特征点、特征点集合中每个未处理的特征点对进行标志;
S33.从复合轮廓OL(k)集合中查找一个普通点Pm,加入到第一笔画轮廓点集合S(n)中,并设置Pm已处理标志为0,特征点计数器FCounter为0,取Pm后续相邻点Ps,加入到S(n)中;
S34.判断Ps是否属于特征点对集合FL中特征点向量对起始点,如果是,执行S35;否则执行S36;
S35.设置特征点计数器FCounter为1,检查以Ps起始的特征点对每个终点Pes,找出最接近当前笔画轮廓轨迹方向的终点Pei,并将该点加入到S(n)中,并将Ps更新为Pei,设置特征点计数器FCounter为2;
S36.判断Ps是否属于FL集合中特征点对终点,如果是,则设置FCounter为0,将Ps加入S(n)中,并将Ps的后续相邻点Pn作为新的Ps;
S37.判断Ps如果不属于FL集合中的特征点,则为普通轮廓点Pc,如果Pc为未处理点,则加入S(n)中,重复S34—S37;如果Pc为已处理点,说明该笔画已分离完成,则结束该笔画的搜索;
S38.将S(n)加入到SS队列中,新建笔画S(n)(n=n+1),重复S33,直至OL(k)中没有普通点,说明该复合轮廓中笔画已分离完成;
S39.更新k=k+1,重复S32-S39;直至所有的复合轮廓都处理完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339707.XA CN109919158A (zh) | 2018-11-12 | 2018-11-12 | 一种基于汉字轮廓的笔画分离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811339707.XA CN109919158A (zh) | 2018-11-12 | 2018-11-12 | 一种基于汉字轮廓的笔画分离方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109919158A true CN109919158A (zh) | 2019-06-21 |
Family
ID=66959789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811339707.XA Withdrawn CN109919158A (zh) | 2018-11-12 | 2018-11-12 | 一种基于汉字轮廓的笔画分离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109919158A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659644A (zh) * | 2019-06-26 | 2020-01-07 | 西安理工大学 | 书法单字的笔画自动提取方法 |
CN111523622A (zh) * | 2020-04-26 | 2020-08-11 | 重庆邮电大学 | 基于特征图像自学习的机械臂模拟手写笔迹方法 |
CN112598768A (zh) * | 2021-03-04 | 2021-04-02 | 中国科学院自动化研究所 | 常用字体汉字笔画拆解方法、系统、装置 |
CN112634262A (zh) * | 2020-12-31 | 2021-04-09 | 浙江优学智能科技有限公司 | 一种基于互联网的写字质量评价方法 |
CN113657330A (zh) * | 2021-08-24 | 2021-11-16 | 深圳市快易典教育科技有限公司 | 一种字体书写笔顺生成方法、系统及其应用方法 |
-
2018
- 2018-11-12 CN CN201811339707.XA patent/CN109919158A/zh not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659644A (zh) * | 2019-06-26 | 2020-01-07 | 西安理工大学 | 书法单字的笔画自动提取方法 |
CN110659644B (zh) * | 2019-06-26 | 2022-07-01 | 西安理工大学 | 书法单字的笔画自动提取方法 |
CN111523622A (zh) * | 2020-04-26 | 2020-08-11 | 重庆邮电大学 | 基于特征图像自学习的机械臂模拟手写笔迹方法 |
CN111523622B (zh) * | 2020-04-26 | 2023-01-31 | 重庆邮电大学 | 基于特征图像自学习的机械臂模拟手写笔迹方法 |
CN112634262A (zh) * | 2020-12-31 | 2021-04-09 | 浙江优学智能科技有限公司 | 一种基于互联网的写字质量评价方法 |
CN112598768A (zh) * | 2021-03-04 | 2021-04-02 | 中国科学院自动化研究所 | 常用字体汉字笔画拆解方法、系统、装置 |
CN113657330A (zh) * | 2021-08-24 | 2021-11-16 | 深圳市快易典教育科技有限公司 | 一种字体书写笔顺生成方法、系统及其应用方法 |
CN113657330B (zh) * | 2021-08-24 | 2024-02-09 | 深圳市快易典教育科技有限公司 | 一种字体书写笔顺生成方法、系统及其应用方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109919158A (zh) | 一种基于汉字轮廓的笔画分离方法 | |
Lian et al. | Automatic generation of large-scale handwriting fonts via style learning | |
CN107679522B (zh) | 基于多流lstm的动作识别方法 | |
Lian et al. | EasyFont: a style learning-based system to easily build your large-scale handwriting fonts | |
CN103093196B (zh) | 一种基于手势的汉字交互输入与识别方法 | |
CN107808131A (zh) | 基于双通路深度卷积神经网络的动态手势识别方法 | |
CN103902988B (zh) | 一种基于Modular积图与最大团的草图形状匹配方法 | |
CN111967533B (zh) | 一种基于场景识别的草图图像翻译方法 | |
CN106611172B (zh) | 一种基于风格学习的汉字合成方法 | |
CN109064389B (zh) | 一种手绘线条画生成现实感图像的深度学习方法 | |
CN101393693B (zh) | 一种汉字书写计算机教学方法 | |
CN111062290B (zh) | 基于生成对抗网络中国书法风格转换模型构建方法及装置 | |
CN104463250A (zh) | 一种基于达芬奇技术的手语识别翻译方法 | |
CN112784531B (zh) | 一种基于深度学习和部件拼接的中文字形及字库生成方法 | |
CN106022355A (zh) | 基于3dcnn的高光谱图像空谱联合分类方法 | |
CN114511452B (zh) | 融合多尺度空洞卷积和三元组注意力的遥感图像检索方法 | |
CN1996347A (zh) | 一种基于书法图像的可视化重现方法 | |
CN104750762A (zh) | 一种信息检索方法及装置 | |
CN107748798A (zh) | 一种基于多层视觉表达和深度网络的手绘图像检索方法 | |
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN102567465B (zh) | 复眼视觉基础上的三维模型几何相似性搜索方法 | |
Hayashi et al. | A study of data augmentation for handwritten character recognition using deep learning | |
CN103839047A (zh) | 一种人体运动轨迹的识别方法及装置 | |
CN115984400A (zh) | 基于手绘草图的图像自动生成方法及系统 | |
Li et al. | AR-CNN: an attention ranking network for learning urban perception |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190621 |