首页 / 专利库 / 摄影 / 图像序列 / 脱机手写汉字的笔画还原方法及装置

脱机手写汉字的笔画还原方法及装置

阅读:343发布:2024-02-16

专利汇可以提供脱机手写汉字的笔画还原方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种脱机手写汉字的笔画还原方法及装置,其中,该方法包括:获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,笔段是将汉字分割成的线段;将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;根据生成的笔段序列进行所述脱机手写汉字的笔画还原。本发明实施例实现了可以对脱机手写汉字的静态书写结果进行笔画还原,进而可以使得再现脱机手写汉字的动态书写过程、计算机自动评判脱机手写汉字的规范性等可以实现。,下面是脱机手写汉字的笔画还原方法及装置专利的具体信息内容。

1.一种脱机手写汉字的笔画还原方法,其特征在于,包括:
获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;
将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;
根据生成的笔段序列进行所述脱机手写汉字的笔画还原;
在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,还包括:
建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序;
将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成所述笔段序列,包括:
从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;
对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;
计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度;
确定多个笔段序列中相似度最高的序列为所述笔段序列;
计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度,包括:
针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;
根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
2.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,脱机手写汉字的各个笔段是以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;
和/或,
预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。
3.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,获取脱机手写汉字的各个笔段,包括:
获取所述脱机手写汉字的静态图像;
从所述静态图像中获取所述脱机手写汉字的各个笔段。
4.如权利要求3所述脱机手写汉字的笔画还原方法,其特征在于,从所述静态图像中获取所述脱机手写汉字的各个笔段,包括:
去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;
从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;
从所述字形骨架中获取所述脱机手写汉字的各个笔段。
5.如权利要求4所述脱机手写汉字的笔画还原方法,其特征在于,在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,还包括:
根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形
6.如权利要求5所述脱机手写汉字的笔画还原方法,其特征在于,所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点。
7.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,通过以下公式计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度:

其中,P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度, 是每个笔段序列中第i个笔段相对于
有序序列中第i个笔段的旋转度, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔段的平移比, 是每个笔段序列中第i个笔段相
对于有序序列中第i个笔段的缩放比,α、β、γ表示权重系数,为有序序列中第i个笔段首尾点连接形成的向量; 为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;|Ci|为每个笔段序列中第i个笔段的长度,
表示所述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
8.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,还包括:
对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。
9.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,确定多个笔段序列中相似度最高的序列为所述笔段序列,包括:
根据估算函数值的大小对组成的笔段序列排序;
依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。
10.如权利要求1所述脱机手写汉字的笔画还原方法,其特征在于,在根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列之前,还包括:
针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。
11.一种脱机手写汉字的笔画还原装置,其特征在于,包括:
获取模,用于获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;
匹配模块,用于将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;
还原模块,用于根据生成的笔段序列进行所述脱机手写汉字的笔画还原;
还包括:
建立模块,用于在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序;
所述匹配模块,包括:
第一确定单元,用于从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;
合并排序单元,用于对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;
计算单元,用于计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度;
第二确定单元,用于确定多个笔段序列中相似度最高的序列为所述笔段序列;
所述计算单元,包括:
第一计算子单元,用于针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;
第二计算子单元,用于根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
12.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,脱机手写汉字的各个笔段是以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;和/或,
预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。
13.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,所述获取模块,包括:
第一获取单元,用于获取所述脱机手写汉字的静态图像;
第二获取单元,用于从所述静态图像中获取所述脱机手写汉字的各个笔段。
14.如权利要求13所述脱机手写汉字的笔画还原装置,其特征在于,所述第二获取单元,包括:
图像处理子单元,用于去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;
第一获取子单元,用于从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;
第二获取子单元,用于从所述字形骨架中获取所述脱机手写汉字的各个笔段。
15.如权利要求14所述脱机手写汉字的笔画还原装置,其特征在于,还包括:
消岐模块,用于在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形。
16.如权利要求15所述脱机手写汉字的笔画还原装置,其特征在于,所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点。
17.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,所述计算单元通过以下公式计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度:

其中,P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔段的旋转度, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔段的平移比, 是每个笔段序列中第i个笔段相对
于有序序列中第i个笔段的缩放比,α、β、γ表示权重系数,为有序序列中第i个笔段首尾点连接形成的向量; 为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;|Ci|为每个笔段序列中第i个笔段的长度,
表示所述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
18.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,还包括:
归一化模块,用于在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。
19.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,所述第二确定单元,包括:
排序子单元,用于根据估算函数值的大小对组成的笔段序列排序;
检测子单元,用于依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。
20.如权利要求11所述脱机手写汉字的笔画还原装置,其特征在于,还包括:
删除模块,用于在根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列之前,针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。

说明书全文

脱机手写汉字的笔画还原方法及装置

技术领域

[0001] 本发明涉及汉字处理技术领域,特别涉及一种脱机手写汉字的笔画还原方法及装置。

背景技术

[0002] 近年来,计算机辅助汉语学习越来越受到人们的重视。作为汉语学习的基础,汉字书写过程的学习与书写结果的评测,已经成为计算机辅助汉语学习的一个重要研究方向。为了适应这种需求,厂商们推出了大量可用于汉字书写练习的硬件书写工具,例如,在联机方式下,硬件书写工具为数码笔、手写板、触摸屏等,这些工具在使用过程中就能够将汉字书写的时序信息记录下来并保存。
[0003] 然而,对于汉字学习者而言,纸和笔才是最广泛、最真实的书写环境。也由于在脱机方式下,书写工具为传统的纸和笔,它们只能记录汉字书写的最终静态图像,至于它们的动态书写过程,则没有记录,使得脱机手写汉字的书写结果无法进行自动笔画还原,进而无论是再现脱机手写汉字的动态书写过程,还是用计算机自动评判脱机手写汉字的规范性等脱机汉字书写教学方式均无法实现。

发明内容

[0004] 本发明实施例提供了一种脱机手写汉字的笔画还原方法及装置,解决了现有技术中无法对脱机手写汉字的书写结果进行笔画还原的技术问题。
[0005] 本发明实施例提供了一种脱机手写汉字的笔画还原方法,该方法包括:获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;根据生成的笔段序列进行所述脱机手写汉字的笔画还原。
[0006] 在一个实施例中,脱机手写汉字的各个笔段是以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;和/或,预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。
[0007] 在一个实施例中,获取脱机手写汉字的各个笔段,包括:获取所述脱机手写汉字的静态图像;从所述静态图像中获取所述脱机手写汉字的各个笔段。
[0008] 在一个实施例中,从所述静态图像中获取所述脱机手写汉字的各个笔段,包括:去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;从所述字形骨架中获取所述脱机手写汉字的各个笔段。
[0009] 在一个实施例中,在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,还包括:根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形
[0010] 在一个实施例中,所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点。
[0011] 在一个实施例中,在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,还包括:建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序。
[0012] 在一个实施例中,将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成所述笔段序列,包括:从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度;确定多个笔段序列中相似度最高的序列为所述笔段序列。
[0013] 在一个实施例中,通过以下公式计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度: 其中,P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度, 是每个笔段序列中第i个笔段相对于有序序列中第i个
笔段的旋转度, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔
段的平移比, 是每个笔段序列中第i个笔段相对于有序序列中
第i个笔段的缩放比,α、β、γ表示权重系数, 为有序序列中第i个笔段首尾点连接形成的向量; 为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;
|Ci|为每个笔段序列中第i个笔段的长度, 表示所
述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
[0014] 在一个实施例中,在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,还包括:对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。
[0015] 在一个实施例中,计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度,包括:针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
[0016] 在一个实施例中,确定多个笔段序列中相似度最高的序列为所述笔段序列,包括:
[0017] 根据估算函数值的大小对组成的笔段序列排序;依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。
[0018] 在一个实施例中,在根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列之前,还包括:针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。
[0019] 本发明实施例还提供了一种脱机手写汉字的笔画还原装置,该装置包括:获取模,用于获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;匹配模块,用于将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;还原模块,用于根据生成的笔段序列进行所述脱机手写汉字的笔画还原。
[0020] 在一个实施例中,脱机手写汉字的各个笔段是以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;和/或,预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。
[0021] 在一个实施例中,所述获取模块,包括:第一获取单元,用于获取所述脱机手写汉字的静态图像;第二获取单元,用于从所述静态图像中获取所述脱机手写汉字的各个笔段。
[0022] 在一个实施例中,所述第二获取单元,包括:图像处理子单元,用于去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;第一获取子单元,用于从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;第二获取子单元,用于从所述字形骨架中获取所述脱机手写汉字的各个笔段。
[0023] 在一个实施例中,还包括:消岐模块,用于在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形。
[0024] 在一个实施例中,所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点。
[0025] 在一个实施例中,还包括:建立模块,用于在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序。
[0026] 在一个实施例中,所述匹配模块,包括:第一确定单元,用于从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;合并排序单元,用于对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;计算单元,用于计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度;第二确定单元,用于确定多个笔段序列中相似度最高的序列为所述笔段序列。
[0027] 在一个实施例中,所述计算单元通过以下公式计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度:其中,P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度, 是每个笔段序列中第i个笔段相对于有序
序列中第i个笔段的旋转度, 是每个笔段序列中第i个笔段相对于有序序
列中第i个笔段的平移比, 是每个笔段序列中第i个笔段相对于
有序序列中第i个笔段的缩放比,α、β、γ表示权重系数, 为有序序列中第i个笔段首尾点连接形成的向量; 为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;|Ci|为每个笔段序列中第i个笔段的长度, 表
示所述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
[0028] 在一个实施例中,还包括:归一化模块,用于在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。
[0029] 在一个实施例中,所述计算单元,包括:第一计算子单元,用于针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;第二计算子单元,用于根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
[0030] 在一个实施例中,所述第二确定单元,包括:排序子单元,用于根据估算函数值的大小对组成的笔段序列排序;检测子单元,用于依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。
[0031] 在一个实施例中,还包括:删除模块,用于在根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列之前,针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。
[0032] 在本发明实施例中,通过获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,该笔段是将汉字分割成的线段,并将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序,该笔段序列以书写脱机手写汉字的笔段时序为顺序,该笔段序列可以正确描述书写所述脱机手写汉字的过程,实现了可以根据该笔段序列对脱机手写汉字的静态书写结果进行笔画还原,进而可以使得再现脱机手写汉字的动态书写过程、计算机自动评判脱机手写汉字的规范性等脱机汉字书写教学方式可以实现,还可以促进对脱机汉字书写教学的计算机辅助技术的研究。附图说明
[0033] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
[0034] 图1是本发明实施例提供的一种脱机手写汉字的笔画还原方法的流程图
[0035] 图2是本发明实施例提供的一种模板汉字笔段的手工标注结果示意图;
[0036] 图3是本发明实施例提供的一种模板汉字的结构-笔画-笔段三级结构示意图;
[0037] 图4是本发明实施例提供的一种脱机手写汉字的图像采集结果示意图;
[0038] 图5是本发明实施例提供的一种脱机手写汉字的图像去除背景孤立噪声的模板示意图;
[0039] 图6是本发明实施例提供的一种脱机手写汉字的图像去除前景孤立噪声的模板示意图的模板示意图;
[0040] 图7是本发明实施例提供的一种填补脱机手写汉字边缘像素的模板示意图;
[0041] 图8是本发明实施例提供的一种去除脱机手写汉字边缘像素的模板示意图;
[0042] 图9是本发明实施例提供的一种预处理后的脱机手写汉字的图像示意图;
[0043] 图10是本发明实施例提供的一种Hilditch算法细化后的脱机手写汉字点阵序列示意图;
[0044] 图11是本发明实施例提供的一种细化后产生的三种类型点的示意图;
[0045] 图12是本发明实施例提供的一种字形骨架示意图;
[0046] 图13(a)是本发明实施例提供的一种细化步骤引起的歧异变形示意图一;
[0047] 图13(b)是本发明实施例提供的一种细化步骤引起的歧异变形示意图二;
[0048] 图14是本发明实施例提供的一种消歧规则描述实例的示意图;
[0049] 图15是本发明实施例提供的一种消除歧义分支后的字形骨架示意图;
[0050] 图16是本发明实施例提供的一种字形骨架的笔段提取结果示意图;
[0051] 图17是本发明实施例提供的一种将脱机手写汉字笔段表示为带权有向图的效果示意图;
[0052] 图18是本发明实施例提供的一个连通子图的切分效果示意图;
[0053] 图19是本发明实施例提供的一种脱机手写汉字笔画还原结果示意图;
[0054] 图20是本发明实施例提供的一种脱机手写汉字的笔画还原装置的结构框图

具体实施方式

[0055] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
[0056] 在本发明实施例中,提供了一种脱机手写汉字的笔画还原方方法,如图1所示,该方法包括:
[0057] 步骤101:获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;
[0058] 步骤102:将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;
[0059] 步骤103:根据生成的笔段序列进行所述脱机手写汉字的笔画还原。
[0060] 由图1所示的流程可知,在本发明实施例中,通过获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,该笔段是将汉字分割成的线段,并将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序,该笔段序列以书写脱机手写汉字的笔段时序为顺序,该笔段序列可以正确描述书写所述脱机手写汉字的过程,实现了可以根据该笔段序列对脱机手写汉字的静态书写结果进行笔画还原,进而可以使得再现脱机手写汉字的动态书写过程、计算机自动评判脱机手写汉字的规范性等脱机汉字书写教学方式可以实现,还可以促进对脱机汉字书写教学的计算机辅助技术的研究。
[0061] 具体实施时,脱机手写汉字的各个笔段是指以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;和/或,
[0062] 预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。例如,预设模板汉字以“发”为例,如图2所示,黑色背景汉字为windows字库提供的模板汉字;带有阴影的点为笔画端点,包括笔画的起始点和终点;白色点为笔画拐点,如图2中的A1、A2等为预设模板汉字的笔段。标注拐点时,可以只标注复杂笔画的转折处,即根据标注的拐点可以将复杂笔画切分为横、竖、撇、捺等基本笔画,如果当前笔画已经是基本笔画,则不再进行切分。
[0063] 为了便于提供丰富的模板汉字笔段的有序序列,在本发明实施例中,在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,还包括:建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序。例如,可以借助微软windows操作系统中的字库获取模板汉字,如图3所示,以“发”为例,对于模板汉字“发”,预设模板汉字库包括该“发”字的部件信息(部件信息即为发字的结构信息,汉字的部件是根据它的结构类型划分的,一般包括独体、上下、左右、包围、半包围五种类型)、笔画信息(模板汉字的笔画是指一次落笔和抬笔的书写轨迹,一个笔画可以包含一个或多个笔段)以及笔段信息(笔段为由一个笔画中的起点、终点、拐点切分成的连续平滑的线段),预设模板汉字库存储上述部件信息是按照书写模板汉字时部件的时序为顺序存储的;笔画的存储也是与部件信息相对应的,如图3所示,部件1对应笔画1、2等5个笔画,即笔画的存储顺序是书写模板汉字时笔画的时序;笔段信息与笔画信息相对应,例如,笔画1对应笔段A1、A2,笔画2对应笔段A3,因此,笔段的存储顺序是书写模板汉字时笔段的时序,存储笔段形成的序列即为模板汉字笔段的有序序列。
[0064] 为了获取符合要求的脱机手写汉字的各个笔段,在本实施例中,获取脱机手写汉字的各个笔段,包括:获取所述脱机手写汉字的静态图像;从所述静态图像中获取所述脱机手写汉字的各个笔段。其中,获取所述脱机手写汉字的静态图像的过程可以是:首先使用传统书写媒介(纸和笔)直接进行脱机手写汉字的书写,然后使用扫描仪照相机等图像采集设备将书写结果转换成为静态数字图像,以“发”为例,获取的静态数字图像如图4所示。
[0065] 为了准确地获取脱机手写汉字的各个笔段,在本实施例中,从所述静态图像中获取所述脱机手写汉字的各个笔段的过程通过以下步骤完成:
[0066] 首先,去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;即对静态图像进行预处理,对脱机手写汉字的静态图像进行灰度化和二值化操作,将脱机手写汉字的静态图像转换成为二值图像,其中,灰度化采用平均值灰度法,二值化采用阈值法。
[0067] 二值化后的图像中存在一些孤立的噪声,可以用模板法将其去除。从左到右、自上而下地依次搜索每个像素,如果这个像素和它八连通的像素组成的九宫格和预先设定的模板相同,则依据不同模板,对该像素进行相应操作以去除噪声。图5是去除背景孤立噪声的模板,阴影代表前景像素,白色代表背景像素,当待处理位置与该模板吻合时,将中心像素置为背景像素,消除背景中的孤立噪声。图6是去除脱机手写汉字图像的前景孤立噪声的模板,当待处理位置与模板吻合时,将中心像素置为前景像素,填补脱机手写汉字图像中的缺失像素。
[0068] 此外,为了方便后续的细化工作,再次采用模板法对脱机手写汉字边缘进行平滑,使脱机手写汉字笔画宽度更均匀。图7是填补边缘像素的模板,当与模板吻合时,将中心像素置为前景像素。图8是去除边缘像素的模板,当与模板吻合时,将中心像素置为背景像素。在判断是否吻合时,这两个模板均可进行90°、180°、270°的顺时针旋转。经过去除孤立的噪声和对脱机手写汉字边缘进行平滑后的图像如图9所示。
[0069] 其次,从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;
[0070] 获取表示所述脱机手写汉字的拓扑结构的字形骨架的过程可以通过以下方式实现:对图像进行细化,细化的目的是提取脱机手写汉字的骨架中心线,去除宽度信息,只保留能表示脱机手写汉字拓扑结构的骨架信息。在本发明实施例中,采用Hilditch算法进行脱机手写汉字图像的细化。Hilditch算法的优点在于其简单、应用性强,且便于实现。使用Hilditch算法处理后得到的细化结果可以保证在八邻域上的连通性,可以避免由于细化造成的笔画断裂类的歧义问题。
[0071] 以“发”为例,脱机手写汉字图像经Hilditch算法细化之后得到了一个点序列P={p1,p2,…,pn},如图10所示。序列P中的点分为三种类型,如图11所示:
[0072] (1)白色圆点为端点:S={s1,s2,…,si},在该点的八邻域中有且只有一个方向存在前景像素。
[0073] (2)黑色圆点为中间点:M={m1,m2,…,mj},在该点的八邻域中有两个不相邻方向存在前景像素。
[0074] (3)三形点为岔点:X={x1,x2,…,xk},在该点的八邻域中存在多个不相邻方向拥有前景像素。
[0075] 遍历P,以X为分割节点,将P中不同连通域的中的点集划分为若干线段K={km|(u,w1,w2,…,wg,v),u,v∈S∪X,w∈M},其中u、v为线段首尾点,只能由端点或岔点充当,w为自u搜索到v途经的所有中间点M。在K中,每个端点与中间点只出现一次,岔点出现次数为其八邻域中存在前景像素的方向数。
[0076] 此时若K中存在由简单笔段横、竖、撇、捺组合而成的复杂笔段,那么需要进一步切分。可以采用动射线的算法计算出所有线段的拐点T={t1,t2,…,th},将T作为分割节点对K进行进一步分割,得到M’=M–T,X’=X+T,K’={km|(u,w1,w2,…,wg,v),u,v∈S∪X’,w∈M’},此时K’中的线段已经足够简单,可以视为不携带弧度信息的具有单一方向的笔段,将中间点去除,K’可以进一步简化地表示为K”={km|(u,v),u,v∈S∪X’},此时K”即为脱机手写汉字的字形骨架,如图12所示。
[0077] 最后,从所述字形骨架中获取所述脱机手写汉字的各个笔段。
[0078] 为了进一步提高获取脱机手写汉字的各个笔段的准确性,在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,还包括:根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形。由于细化后的脱机手写字形骨架中可能存在一些歧义变形,图中显示了两种有可能出现的歧义变形:图13(a)为交叉变形:细化处理后,一个四岔交点可能会变形为两个相邻的三岔交点。图13(b)为毛刺变形:细化处理后,笔画转折处可能会出现一个原本不存在的细小笔段。这些歧异变形会改变脱机手写字原有的拓扑结构,所以需要尽可能的消除上述两种歧异变形。
[0079] 具体的,由于歧异变形的出现具有不确定性,所以为了消除这些歧异变形,可以为每个汉字编写消歧规则,并将它们组织为消歧规则库。以下将详细说明消歧规则的编写方法和应用效果。
[0080] 消歧规则库的建立:
[0081] 为了消除细化后脱机手写汉字骨架中的歧异变形,本发明实施例为每个模板汉字编写了一个消歧规则,所有模板汉字的消歧规则都存放在消歧规则库中。使用消歧规则对脱机手写汉字细化后的字形骨架进行处理,便可消除交叉变形和毛刺变形,并保持其他有效信息。
[0082] 所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点,本发明实施例采用如下两个步骤编写每个模板汉字的消歧规则:
[0083] (1)确定脱机手写汉字字形骨架中的关键点。
[0084] 手写汉字字形骨架中的关键点是指:无论是否存在歧异变形,拓扑信息都绝对稳定的端点,是所述字形骨架中必然存在的点。它们能够提供一些特殊笔段的位置信息。这些关键点将作为消歧规则的基础。
[0085] 因为关键点的选取是根据主观经验获得的,所以不同汉字的关键点不尽相同。即使对于同一汉字,不同人所认为的关键点也不一样。同时,脱机手写汉字字形骨架中的关键点应该能够适应各种常见的书写变化。也就是说,对于不同人书写的同一个汉字,这些关键点的拓扑特征应该是稳定的。
[0086] 本发明的思路是,首先使用最小凸多边形将脱机手写汉字字形骨架的所有端点包围起来,然后在凸多边形的端点中选择一些稳定的点作为关键点。选择的依据一般体现为凸多边形中的一些极值点。为了编写规则的方便,我们定义了下面的一个基本操作来寻找字形骨架中的关键点:
[0087] 字形中的某个关键点=GetKeyPoint(目标关键点的类型,目标关键点的方位,目标关键点位置特征,目标关键点状态)
[0088] 上述基本操作“GetKeyPoint()”使用了四个参数描述目标关键点,即关键点在所述脱机手写汉字的字形骨架中的位置信息(例如,目标关键点的方位)和状态信息(例如,目标关键点的类型、目标关键点位置特征以及目标关键点状态)。我们可以使用这个操作为任意汉字编写关键点规则。下面以“发”字为例来说明上述基本操作的使用方法。在其字形骨架的凸多边形中,最右下角的点一定是按书写顺序来讲第四条笔画的终点,该点距离汉字矩形框的右下角最近。这种结构信息是非常稳定的,而且能够适应常见的书写变化。所以,我们可以为“发”字编写如下的关键点提取规则:第四个笔画的终点=GetKeyPoint(“端点”,“最右下角”,“在凸多边形上”,“非孤立”)。其中,基本操作“GetKeyPoint()”的四个参数含义如下:第一个参数表示目标关键点为骨架端点;第二个参数表示目标关键点在汉字矩形框中的最右下角;第三个参数表示目标关键点在凸多边形上;第四个参数表示目标关键点不是孤立点。该规则表示:在脱机手写汉字字形骨架的凸多边形中,找到距离汉字矩形框的右下角最近的端点,将其与模板汉字第四条笔画的终点相对应的。
[0089] 基于上述基本操作,可以为每个模板汉字定义一个或几个关键点的选取规则。通过查询这些规则,便可以获取每个脱机手写汉字字形骨架中的关键点以及它们所在的笔段。
[0090] (2)根据上述已经确定的关键点推断衍生点。
[0091] 衍生点是指汉字字形骨架中几何特征不稳定的点,是所述字形骨架中预计会出现歧义变形的点,例如:容易变形为两个三岔点的四岔点、容易产生毛刺笔段的拐点,以及那些由于书写变化而不能看作关键点的端点。在细化后的字形骨架中,衍生点可能产生歧异变形,也可能没有产生歧异变形。我们的目标是找到那些产生歧异变形的衍生点,并对其进行处理,即:将属于同一个四岔点的两个三岔点合并;将拐点处产生的毛刺删除。
[0092] 为了定位衍生点,我们引入了知识路径的概念。知识路径是指:基于具体的脱机手写汉字字形骨架,从已知的关键点出发,定位到某个衍生点的一条路径,这条路径在字形骨架中可以是连通的,也可以是非连通的。和确定关键点的方法类似,知识路径的确定也依据人的主观经验。对于不同人来说,定位到同一个衍生点的知识路径也可能不一样。本发明定义知识路径的原则是:从一个已知的关键点出发,首先确定需要寻找的某个衍生点的搜索方向、搜索范围、几何特征等信息,然后按照知识路径进行搜索。
[0093] 因为字形骨架中的衍生点可能发成歧异变形,也可能没有发生歧异变形。为了具有广泛适应性,我们定义了如下几个基本操作来寻找衍生点。
[0094] 没有发生变形的衍生点=GetPoint(出发点,搜索方向,搜索范围,衍生点特征)[0095] 发生变形的四岔点=GetZhenQY(出发点,搜索方向,衍生点特征)
[0096] 发生变形的毛刺=GetBurr(出发点,搜索方向,衍生点特征)
[0097] 其中,基本操作“GetZhenQY()”和“GetBurr()”都是严格基于字形骨架的连通路径来搜索衍生点,包括衍生点在字形骨架中的位置信息(例如,出发点、搜索方向以及搜索范围)、歧义变形的类型(例如,衍生点特征)以及对出现的歧义变形的消除方式;基本操作“GetPoint()”通过参数“搜索范围”来决定是否在连通路径中搜索。
[0098] 上述内容只是一些基本操作。用这些基本操作为具体汉字编写消歧规则时,需要预先知道可能发生歧异变形的衍生点,然后选择上述基本操作中的一个或几个分别试探,直至找到满足要求的衍生点。以图14中的“发”字为例,由第一步确定关键点的方法可知,2号点是第四个笔画的终点,由此点出发向左上搜索应该能够找到第三个笔画和第四个笔画的交点,我们事先不知道该点是否发生歧异变形。所以,首先假设该点已经由一个四岔点变形为两个三岔点,那么使用如下操作查找满足要求的点:
[0099] 第三个笔画和第四个笔画的交点=GetZhenQY(从2号点出发,搜索方向为左上,衍生点特征为两个相邻的三岔点)
[0100] 由于图14中第三个笔画和第四个笔画的交点没有发生歧异变形,所以上述操作是失败的。接下来假设该交点没有发生歧异变形,继续使用如下操作查找满足要求的点:
[0101] 第三个笔画和第四个笔画的交点=GetPoint(从2号点出发,搜索方向为左上,搜索范围为在连通路径中,衍生点特征为一个四岔点)
[0102] 经过上述操作后,就能够找到一个满足要求的点,即8号点。至此,查找第三个笔画和第四个笔画交点的工作结束。接下来,可以继续探测其他衍生点。
[0103] 至此,可以对消歧规则总结如下:基于上述提供的关键点和衍生点的基本操作,以及某个具体脱机手写汉字的拓扑结构,就可以为该模板汉字编写详细的消歧规则,最后我们将所有汉字的消歧规则存储在消歧规则库中。
[0104] 下面以一个具体示例形象的说明消歧规则的使用效果,以图14显示的一个细化后“发”字的字形骨架为例。
[0105] 首先,使用如下操作确定这个字形骨架中的关键点:
[0106] 通过基本操作“第四个笔画的终点=GetKeyPoint(“端点”,“最右下角”,“在凸多边形上”,“非独立”)”可以确定图中的2号点为“发”字第四个笔画的终点。同理,通过基本操作“第一个笔画的起点=GetKeyPoint(“端点”,“最左上角”,“在凸多边形上”,“非独立”)”可以确定图中1号点为第一个笔画的起点;通过基本操作“第一个笔画的终点=GetKeyPoint(“端点”,“右上1/4区域”,“在横笔段上”,“非独立”)”可以确定图中4号点为第一个笔画的终点。
[0107] 然后,使用如下规则确定这个字形骨架中的衍生点和歧义变形:
[0108] 通过基本操作“第二个笔画的起点=GetPoint(从1号点出发,搜索方向为右方,搜索范围在非连通域中,衍生点特征是离1号点最近的一个非孤立竖笔段的端点)”可以确定5号点是“发”第二个笔画的起点。
[0109] 通过基本操作“第三个笔画和第四个笔画的交岔点=GetPoint(从2号点出发,搜索方向为左上,搜索范围在连通域中,衍生点特征为一个四岔点)”可以确定8号点是“发”字第三笔和第四笔的交叉点。
[0110] 通过基本操作“第一个笔画和第二个笔画的交点=GetZhenQY(从4号点出发,搜索方向为左,衍生点特征为两个相邻的三岔点)“可以确定6号点和6’号点组成的笔段是“发”字第一笔和第二笔交叉引起的歧义变形。
[0111] 通过基本操作“第三个笔画的转折点=GetBurr(从8号点出发,搜索方向为右上,衍生点特征为一个三岔点和一个端点)”可以确定9号点和9’号点是第三个笔画的转折点,二者组成的笔段是由于歧异变形产生的毛刺。以同样方式,还可以确定7号点和7’号点是“发”字第一个笔画转折处的毛刺分支。
[0112] 最后,消除上述定位到的歧义变形。具体操作包括:将6号点和6’号点合并;将9’号点所在笔段删除;将7’号点所在笔段删除。图15是消除这三处歧义变形之后的效果图。
[0113] 至此,还需要对消歧操作提出如下说明:由于脱机手写汉字形式多样、书写千变万化,所以上述消歧操作并不能完全消除字形骨架中所有的歧义变形。实际上,目前也不存在这样的一种算法可以完全纠正脱机手写汉字细化之后的变形。上述消歧操作的目的是,尽最大可能找到字形骨架中的歧异变形,并将其消除,从而提高后续笔画还原操作的效率、准确性。
[0114] 从消除歧义变形后的字形骨架中获取所述脱机手写汉字的各个笔段。以字形骨架中笔画的起始点、拐点、终点和笔画间的交叉点为切分点,将字形骨架切分为若干条单像素宽的线段;然后,对于每条线段,去除中间点,保留线段的首尾点,即形成脱机手写汉字的各个笔段。至此,每条手写字笔段中含有且只含有一组点对。图16中显示的是“发”字的字形骨架进行笔段提取之后的脱机手写汉字笔段编号。
[0115] 上述提取脱机手写汉字的各个笔段的过程能够适应各种脱机手写形式,经过上述步骤提取的脱机手写汉字的各个笔段的笔画还原可以应用于计算机辅助教学和计算机自动书写评判;然而,现有技术中通过外围轮廓法、数学形态法、段化法、区域分解法、模糊区域检测法、基于细化的方法、基于距离的方法、基于方向游程长度的方法、基于编码的方法、基于神经元网络的方法等来提取笔段,这些方法中的绝大部分都是为手写标准体和印刷体的汉字识别而提出的,它们对脱机手写汉字具有较强的限制,在字符集的容量上、字体字形的视觉效果上都具有很强的约束性,不能够适应各种脱机手写形式。
[0116] 具体实施时,由于上述提取出的脱机手写汉字的笔段序列是无序的,还不是能进行笔画还原的笔段序列,在本实施例中,通过以下步骤将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成所述笔段序列:
[0117] 首先,从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;
[0118] 其次,对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;例如,建立汉字字形相似度模型,按照汉字书写笔顺,模板字由有序笔段序列A=[A1,A2,...,An]构成。与该模板字对应的脱机手写汉字的笔段集合为B=[B1,B2,...,Bm](n≠m)。这里需要注意:集合A中的笔段是由笔画的端点和转折点切分而成的;集合B中的笔段是由笔画的端点、转折点以及笔画之间的交点切分而成的,所以集合B中的笔段更加细碎。为了将集合A和B进行匹配,首先需要对集合B中的笔段进行合并和重排序,形成新的笔段序列C=[C1,C2,...,Cn],这里Ci可能是B中的一个笔段,也可能是由B中的多个相邻笔段首尾相连组成的笔端组合。由于我们不知道B中的哪些相邻笔段是由笔画交叉点分割开的,所以只能对相邻笔段进行任意合并;由于我们不知道正确的书写顺序,所以只能对B中的笔段进行任意重排序。这样,可能会形成很多种合并和重排序情况。所以,新的笔段序列C存在多种可能的形式。
[0119] 再次,计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度,即计算所有可能的笔段序列C与笔段序列A的相似度;
[0120] 最后,确定多个笔段序列中相似度最高的序列为所述笔段序列,即在所有可能的笔段序列C中,确定与笔段序列A相似度最高的笔段序列C'=[C1',C2',...Cn']为所述笔段序列。
[0121] 具体的,在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,还包括:对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。例如,对脱机手写汉字笔段中的坐标点和模板汉字笔段中的坐标点进行归一化处理,使它们处于相同大小的矩形框中。具体计算公式如下:
[0122]
[0123] 其中:(x,y)是归一化之前的点坐标;(x',y')是归一化之后的点坐标;(xmin,xmax)分别是原始汉字矩形框横坐标的最小值和最大值;(ymin,ymax)分别是原始汉字矩形框纵坐标的最小值与最大值; 是归一化之后汉字中心的偏移坐标;size为归一化后汉字矩形框的大小,根据需求不同可以调整。
[0124] 具体的,计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度的过程可以通过以下公式来实现:
[0125]
[0126] 其中,
[0127] P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)            (3)
[0128] 表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度,是每个笔段序列中第i个笔段相对于有序序列中第i个笔段的旋转
度, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔段的平移
比, 是每个笔段序列中第i个笔段相对于有序序列中第i个笔
段的缩放比,α、β、γ表示权重系数, 为有序序列中第i个笔段首尾点连接形成的向量;
为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;|Ci|为每个笔段序列中第i个笔段的长度,
[0129]
[0130] 表示所述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
[0131] 通过以上步骤实现将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成所述笔段序列的过程,能够将脱机手写汉字的笔段无歧异的、最大限度的与模板汉字的笔段进行匹配,即使脱机手写汉字中存在多笔、少笔等错误,也能够将这些笔画分离出来,从而为脱机汉字书写正误和规范性的自动评判打下基础。然而,现有技术中也有将脱机手写汉字的笔段序列与模板汉字的笔段序列进行匹配的方法,例如,通过定义规则生成手写字的笔顺,并通过计算手写字的笔顺与标准模板中的笔顺的相似度进行纠正,但是该方法难以区分相同笔顺的近似字;此外,还有重构手写数字字符笔迹顺序的方法,认为该过程是一个全局最优问题,通过搜寻最小代价的Hamilton路径来重构书写笔迹,然而该方法只能用于数字等复杂程度低的字符集合。因此,上述现有技术中字形匹配方法不能适应手写汉字字形的各种笔画,当手写汉字中出现多笔、少笔等错误时,更是难以应对。
[0132] 为了提高计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度的效率,在本发明实施例中,可以采用A*算法近似计算相似度,从而找到模板字笔段和脱机手写字笔段的最优匹配结果。A*算法是一种常用的全局路径规划算法,可以这样理解它的搜索过程:
[0133] 首先,确定A*算法的搜索空间。即:针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;
[0134] 然后,利用估算函数搜索最优解。即:根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
[0135] 下面详细说明A*算法的搜索空间、估算函数的设计方法。
[0136] A)构造A*算法的搜索空间
[0137] 首先:将归一化后的字形骨架表示为一个带权有向图G=(V,E),其中节点V为字形骨架中的每个笔段,每条边E的权是非负的,取值为相邻两条笔段的夹角。图17为图16中“发”字形骨架的带权有向图(权重忽略)。
[0138] 然后:通过设置角度阈值的方式将图G切分为若干个子图,每个子图中任意数目的相互连通的节点均有可能对应于模板汉字上的一个笔段。图18显示的子图表示脱机手写字笔段集合{C4,C5}中的任一元素或者元素组合都有可能对应于模板汉字上的一个笔段。这样我们可以遍历每个子图和每个模板汉字笔段Ai,并通过计算公式P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)来确定模板汉字笔段Ai的候选笔段集合。如果上述公式值小于某个阈值,那么就可以将脱机手写字笔段Ci存入模板字笔段Ai的笔段候选集合中。
[0139] 在该过程中,我们可以通过消歧步骤中获得的信息缩小每个模板汉字笔段的候选空间。消歧步骤会获得一些关键点和衍生点信息,这些信息已经约束了脱机手写字笔段和模板字笔段的对应关系。所以,对于那些存在关键点以及衍生点信息的模板字笔段,在为它们构造候选手写字笔段集合时,候选空间可以定义为包含这些点的脱机手写字笔段及其组合。同时,可以将这些笔段从其他模板字笔段的候选空间中去除。
[0140] 此外,消歧步骤并不能消除手写字形骨架中所有的歧义。如果手写字形骨架中仍旧存在一个四岔点变为两个三岔点的歧异变形,那么在划分子图时就可能会出现两个子图共用一个笔段的情况。当遇到这种情况时,进行如下处理即可:首先将字形骨架中的这个共用笔段收缩为一个点;然后重新进行子图切分。
[0141] 表1是经过上述处理后,为图16构造完成的“发”字的搜索空间示意图。
[0142] 表1
[0143]模板字笔段 候选手写字笔段集合
A1 C1
A2 C4+C5
A3 C2+C6+C8+C11,C2+C6+C8,C2+C6
A4 C7
A5 C10+C13+C12,C10+C13
A6 C9+C14
A7 C3
[0144] B)设计A*算法的估算函数
[0145] A*算法的估算函数一般表达为:
[0146] Fk=Gk+Hk(1≤k≤n)         (5)
[0147] 在该公式中,Gk指从路径的起始点到当前节点所花费的实际代价;Hk是从当前节点到路径终点所花费的估算代价。每次选择估算函数Fk最小的路径进行扩展。
[0148] 在笔画还原问题中,模板字笔段是有序的,可以按照该序列展开搜索路径。此时只需要解决两个问题:确定每一步的实际代价Gk与估算代价Hk。
[0149] 由公式(2)可以推导出:
[0150]
[0151] 其中,P(C1C2...Ck)的计算同公式(4)。
[0152] 在计算Hk时,将余下的未匹配笔段集合中最不可能匹配组合的相似度累计值作为Hk即可。计算公式如下所示。
[0153]
[0154] 具体实施时,在应用A*算法进行搜索时,由于复杂汉字的手写实例的笔段数目往往很多,造成搜索空间膨胀,降低了搜索算法的效率和正确率,需要在搜索时进行剪枝处理。我们根据模板字中笔段之间得约束关系进行搜索路径的裁剪,具体操作如下:
[0155] 针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。例如,如果当前搜索路径中已经将模板字中的笔段Ai与脱机手写字中的笔段Cj进行匹配,那么在对模板字中的后续笔段进行匹配时,就可以利用它与Ai的位置关系裁剪搜索路径,如果需要搜索Ak的匹配笔段,而Ak与Ai是首尾相邻的关系,那么此时就可以把Ak的候选笔段中所有与Cj不首尾相邻的笔段忽略。
[0156] 由于A*算法的候选结果往往不止一个,但是我们只需要一个最佳的还原结果。为了得到这个最佳的还原结构,需要对候选解集进行检测,筛选出一个模板字笔段和手写字笔段匹配最优的解。即确定多个笔段序列中相似度最高的序列为所述笔段序列,包括:根据估算函数值的大小对组成的笔段序列排序;依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。图19是经过筛选后得到的脱机手写“发”字的笔画还原结果示意图。
[0157] 基于同一发明构思,本发明实施例中还提供了一种脱机手写汉字的笔画还原装置,如下面的实施例所述。由于脱机手写汉字的笔画还原装置解决问题的原理与脱机手写汉字的笔画还原方法相似,因此脱机手写汉字的笔画还原装置的实施可以参见脱机手写汉字的笔画还原方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0158] 图20是本发明实施例的脱机手写汉字的笔画还原装置的一种结构框图,如图20所示,包括:获取模块201、匹配模块202和还原模块203,下面对该结构进行说明。
[0159] 获取模块201,用于获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,其中,所述笔段是将汉字分割成的线段;
[0160] 匹配模块202,与获取模块201连接,用于将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,其中,笔段序列以书写脱机手写汉字的笔段时序为顺序,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序;
[0161] 还原模块203,与匹配模块202连接,用于根据生成的笔段序列进行所述脱机手写汉字的笔画还原。
[0162] 在一个实施例中,脱机手写汉字的各个笔段是以笔画的起始点、终点、拐点以及笔画间的交叉点为分割点,将汉字分割成的线段;和/或,预设模板汉字的各个笔段是以笔画的起始点、终点以及拐点为分割点,将预设模板汉字分割成的线段。
[0163] 在一个实施例中,所述获取模块201,包括:第一获取单元,用于获取所述脱机手写汉字的静态图像;第二获取单元,与第一获取单元连接,用于从所述静态图像中获取所述脱机手写汉字的各个笔段。
[0164] 在一个实施例中,所述第二获取单元,包括:图像处理子单元,用于去除所述静态图像中的噪声信息和对所述脱机手写汉字的边缘进行平滑;第一获取子单元,与图像处理子单元连接,用于从去除噪声信息和对所述脱机手写汉字的边缘进行平滑后的静态图像中,获取表示所述脱机手写汉字的拓扑结构的字形骨架;第二获取子单元,与第一获取子单元连接,用于从所述字形骨架中获取所述脱机手写汉字的各个笔段。
[0165] 在一个实施例中,还包括:消岐模块,用于在从所述字形骨架中获取所述脱机手写汉字的各个笔段之前,根据预设消岐规则,消除所述字形骨架中相对于所述脱机手写汉字的拓扑结构存在的歧义变形。
[0166] 在一个实施例中,所述预设消岐规则包括以下信息:关键点在所述脱机手写汉字的字形骨架中的位置信息和状态信息、衍生点在字形骨架中的位置信息、歧义变形的类型以及对出现的歧义变形的消除方式,其中,所述关键点必然存在于所述字形骨架中,所述衍生点是所述字形骨架中预计会出现歧义变形的点。
[0167] 在一个实施例中,还包括:建立模块,用于在将所述脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配之前,建立预设模板汉字库,所述预设模板汉字库存储预设模板汉字的结构、笔画和笔段,其中,存储预设模板汉字的结构、笔画和笔段的顺序分别为书写预设模板汉字时结构、笔画和笔段的时序。
[0168] 在一个实施例中,所述匹配模块202,包括:第一确定单元,用于从所述预设模板汉字库中确定出与所述脱机手写汉字相对应的预设模板汉字;合并排序单元,与第一确定单元连接,用于对所述脱机手写汉字的各个笔段任意合并和排序,生成多个笔段序列;计算单元,与合并排序单元连接,用于计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度;第二确定单元,与计算单元连接,用于确定多个笔段序列中相似度最高的序列为所述笔段序列。
[0169] 在一个实施例中,所述计算单元通过以下公式计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度:其中,P(Ai|Ci)=αX(Ai,Ci)+βY(Ai,Ci)+γZ(Ai,Ci)表示有序序列中第i个笔段与每个笔段序列中第i个笔段之间的相似度, 是每个笔段序列中第i个笔段相对于有
序序列中第i个笔段的旋转度, 是每个笔段序列中第i个笔段相对于有序
序列中第i个笔段的平移比, 是每个笔段序列中第i个笔段相对
于有序序列中第i个笔段的缩放比,α、β、γ表示权重系数, 为有序序列中第i个笔段首尾点连接形成的向量; 为每个笔段序列中第i个笔段首尾点连接形成的向量; 为有序序列中第i个笔段的中心点; 为每个笔段序列中第i个笔段的中心点;|Ai|为有序序列中第i个笔段的长度;|Ci|为每个笔段序列中第i个笔段的长度,
表示所述脱机手写汉字的合理性值,Δ(Ci,Ci+1)表示每个笔段序列中第i个笔段Ci和第i+1个笔段Ci+1构成的凸多边形的面积,Δ(Ai,Ai+1)表示有序序列中第i个笔段Ai和第i+1个笔段Ai+1构成的凸多边形面积,n分别是有序序列中笔段的个数和每个笔段序列中笔段的个数。
[0170] 在一个实施例中,还包括:归一化模块,用于在计算多个笔段序列中每个笔段序列与确定出的预设模板汉字的各个笔段的有序序列之间的相似度之前,对每个笔段序列中笔段的坐标点和有序序列中笔段的坐标点进行归一化处理。
[0171] 在一个实施例中,所述计算单元,包括:第一计算子单元,用于针对有序序列中的每个笔段,计算每个笔段序列中每个笔段与该笔段的相似度,并将每个笔段序列中相似度小于预设阈值的笔段加入该笔段的笔段候选集合,该笔段的笔段候选集合中包括所述每个笔段序列中的笔段或所述每个笔段序列中笔段的组合;第二计算子单元,与第一计算子单元连接,用于根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列,并通过估算函数计算组成的笔段序列的估算函数值,其中,估算函数值的大小与相似度成比例。
[0172] 在一个实施例中,所述第二确定单元,包括:排序子单元,用于根据估算函数值的大小对组成的笔段序列排序;检测子单元,与排序子单元连接,用于依次对所述组成的笔段序列进行检测,确定符合检测条件的所述组成的笔段序列为所述笔段序列,其中,所述检测条件包括:所述笔段序列还原的脱机手写汉字比例正确、所述笔段序列还原的脱机手写汉字结构比例正确且结构之间的位置关系正确以及所述笔段序列中笔段间衔接关系正确且笔段间位置关系正确。
[0173] 在一个实施例中,还包括:删除模块,用于在根据有序序列中各个笔段的顺序,将每个笔段的笔段候选集合中的笔段或笔段组合组成笔段序列之前,针对有序序列中两个相邻的笔段,该两个笔段构成预设结构关系,该两个笔段中的前一笔段与所述每个笔段序列的前一笔段匹配,则从该两个笔段中的后一笔段的笔段候选集合中,删除与所述每个笔段序列的前一笔段不构成所述预设结构关系的笔段或笔段组合。
[0174] 在本发明实施例中,通过获取脱机手写汉字的各个笔段和预设模板汉字的各个笔段,该笔段是将汉字分割成的线段,并将脱机手写汉字的各个笔段与预设模板汉字的各个笔段的有序序列进行匹配,生成脱机手写汉字的各个笔段的笔段序列,预设模板汉字的各个笔段的有序序列以书写所述预设模板汉字时预设模板汉字的各个笔段的时序为顺序,该笔段序列以书写脱机手写汉字的笔段时序为顺序,该笔段序列可以正确描述书写所述脱机手写汉字的过程,实现了可以根据该笔段序列对脱机手写汉字的静态书写结果进行笔画还原,进而可以使得再现脱机手写汉字的动态书写过程、计算机自动评判脱机手写汉字的规范性等脱机汉字书写教学方式可以实现,还可以促进对脱机汉字书写教学的计算机辅助技术的研究。
[0175] 显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
[0176] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈