一种在线多笔画重复绘制草图的聚类与拟合方法

文档序号:9327460阅读:547来源:国知局
一种在线多笔画重复绘制草图的聚类与拟合方法
【技术领域】
[0001] 本发明涉及一种在线多笔画重复绘制草图的聚类与拟合方法,用于将在线多笔画 重复绘制草图转换为二维线图,用于手写板、智能手机等智能手绘输入设备。
【背景技术】
[0002] 手绘草图是人类的一种常用的思想交流的方式,它自然、简便,而且能表达模糊的 概念,便于用户进行创造性活动。草图识别工具提供给设计师一个展现设计思维,开展创造 性设计工作的平台,但由于用户手绘习惯和方式的不同对有效识别草图和推测用户意图带 来很大困难。草图识别的目的,是在用户绘制约束最小的情况下,达到最佳的识别效率和效 果。多笔画重复绘制是手绘草图中常见的现象:设计师通常先以单笔画绘制一张粗略的草 图形成大致轮廓,然后在已有轮廓的基础上加深或修正笔画以强调设计意图或使草图更加 清晰。如何对多笔画绘制的草图进行正确的聚类及拟合以表示预期的几何图形是在线草图 识别的一个重要内容,笔画聚类的效果直接影响到后续的识别结果。
[0003] 目前在线手绘图解释系统大部分不支持或有条件的支持笔画的重复绘制,发明人 发现现有技术至少存在以下技术问题:对用户绘制习惯进行约束,如要求用户在特定时间 内输入笔画或绘制完成一个图形后点击按钮确定;不能将所有输入笔画全部解释成草图的 一部分;基于对笔画的分类进行多笔画聚类,聚类过程只能在同类型笔画之间进行。

【发明内容】

[0004] 要解决的技术问题
[0005] 本发明用于将在线多笔画重复绘制草图转换为二维线图,解决已有的在线手绘图 解释系统对用户绘制习惯进行约束,不能将所有输入笔画全部解释成草图的一部分或只 对同类型笔画聚类的技术问题。
[0006] 技术方案
[0007] -种在线多笔画重复绘制草图的聚类与拟合方法,其特征在于步骤如下:
[0008] 步骤1 :对每个输入笔画的计算机数据提取包括笔画起点和笔画终点的N个采样 点,得到采样点序列{p1;〇彡i彡η},对采样点序列进行折线化逼近处理,得到折点序列 {ζ 1;0彡i彡Μ};采用经典Graham扫描算法对输入笔画进行扫描得到笔画的凸包,然后采 用极值法得到笔画的最小包络矩形;
[0009] 步骤2 :遍历笔画的折点序列{z1;0 < i < M},依次在相邻两折点间构造一个长 为该两折点间的欧式距离,宽为w的矩形,得到关于笔画折点的构造矩形序列{P1;0彡i <M};遍历笔画的折点序列{z 1;0彡i彡M},依次构造以折点为圆心、直径为w的圆,得到 关于笔画折点的构造圆形序列ΙΑ;0彡i彡M};所述的矩形序列{P 1;0彡i < M}与圆形序 列{C1;0 < i < M}的并集构成了笔画容差带;所述的w定义为笔画包络最小矩形的周长c 及笔画宽度b的函数:
[0011] 步骤3:依次比较两条输入笔画之间的最小包络矩形的周长大小,计算周长较小 的笔画的采样点落入周长较大的笔画的笔画容差带的数量占周长较小的笔画的总采样点 数的比例,若该比例大于一个给定的阈值P,则将该两条笔画添加到一个笔画集合中,每一 个笔画集合为一个子草图 g],得到子草图序列G = {g];0彡j < m};
[0012] 步骤4 :遍历子草图序列G = {g_j;0彡j < m},采用单笔画识别方法判断子草图 (〇 < j < m)是否为直线段,如果是,则对该子草图进行直线段拟合,得到一条拟合直线 段;否则,采用单笔画识别方法对子草图中的笔画依次进行单笔画识别,步骤如下:
[0013] 1)若&中只包含折线段笔画或同时包含折线段笔画和直线段笔画,则对其进行折 线段拟合,得到一系列直线段的组合;
[0014] 2)若&只包含二次曲线,则对所有待拟合笔画的逼近折线段的折点进行最小二乘 拟合;
[0015] 3)若&包含有折线段曲线和二次曲线的笔画,计算g]中各条笔画的最小包络矩形 周长C 1,并求出最大值C_,依次将(^与c _进行比较,若所有的c i都满足c _-Cl> c _/3, 则采用最小二乘拟合将子草图g]整体拟合为一条二次曲线;否则弹出人机交互对话框以供 用户确定采用折线段拟合或最小二乘拟合;
[0016] 所述的直线段拟合:随机选择待拟合的所有笔画的折点集合中的最远点对的某一 个点作为该拟合直线段的起点,另一个点作为终点,连接起点和终点产生一条直线段;
[0017] 所述的折线段拟合:将待拟合的所有的折线段笔画依据其笔画逼近折线段的折点 分割为若干子笔画,然后如步骤3所述对所有子笔画进行笔画聚类,得到关于子笔画的子 草图序列,最后依次对这些子草图序列进行直线段拟合,得到关于该折线段子草图的拟合 直线段组合。
[0018] 所述的N大于等于5。
[0019] 所述的p为0.4。
[0020] 所述的二次曲线类型包括椭圆、圆、双曲线和抛物线。
[0021] 有益效果
[0022] 本发明首先通过笔画逼近折线段的折点序列,构造包围笔画的容差带;然后通过 依赖于多笔画重复绘制判定算法的聚类算法将原始草图分成若干个子草图;最后将这些子 草图拟合为直线段、折线段、二次曲线等标准图元。本发明方法可以对在线多笔画重复绘制 草图中的笔画进行聚类,有效解决不同类型重复绘制笔画的聚类问题,并且将聚类结果准 确拟合为直线段、折线段、二次曲线等标准图元,从而将多笔画重复绘制草图高效转换为二 维线图。
【附图说明】
[0023] 图1 :在线多笔画重复绘制草图的聚类与拟合方法的流程图;
[0024] 图2 :输入笔画的采样点、折点及最小包络矩形示意图;
[0025] 图3 :笔画容差带构造示意图;(a)构造矩形序列;(b)构造圆序列;(c)最终笔画 容差带;
[0026] 图4 :多笔画重复绘制判定方法示意图;
[0027] 图5 :手绘三维模型投影图聚类与拟合实例;
【具体实施方式】
[0028] 现结合实施例、附图对本发明作进一步描述:
[0029] 本实施例中采用的多笔画重复绘制草图的聚类与拟合方法,采用以下步骤:
[0030] 如图1所示,一种将在线多笔画重复绘制的草图转换为二维线图的聚类与拟合方 法,包括以下步骤:
[0031] 步骤1 :首先,对接收到的输入笔画提取N个采样点,N不小于5,采样点包含笔 画起点和笔画终点,相邻采样点的间隔时间不小于S,S取0. 015s,得到笔画的采样点序列 {p1;0 < i < n},这里的输入笔画指按键一一移动一一松键的过程中形成的一条轨迹;然 后,对有效输入笔画进行折线化逼近,得到折点序列lz 1;〇 < i < M};最后,首先采用经典 Graham扫描算法得到笔画的凸包,然后采用极值法得到笔画的最小包络矩形。如图2所示, 笔画的采样点、折点和最小包络矩形分别用小黑点、蓝色圆圈和红色矩形框表示。
[0032] 所述折线化逼近过程采用文献"Wang S, Gao M, Qi L. Freehand sketching interfaces: early processing for sketch recognition[C]//Proceedings of the 12th international conference on Human-computer interaction. New York:Springer Verlag, 2007, 4551:161-170"中公开的方法,其中折线化逼近程度系数C取0. 2。
[0033] 步骤2 :通过笔画的折点序列构造笔画容差带;
[0034] 通过笔画逼近折线段的折点构造一系列矩形和圆形创建一个带圆弧过渡的等距 边线围成的封闭多边形区域作为该笔画的容差带,这个容差带是所有矩形与圆形的并集。 具体算法如下:
[0035] 首先,遍历笔画的折点序列{z1;0彡i彡M},依次在相邻两折点间构造一个长为该 两折点间的欧式距离,宽为w的矩形,得到关于笔画折点的构造矩形序列{P 1;0 < i < M}, 如图3 (a)所示;
[0036] 然后,遍历笔画的折点序列{zi;0彡i彡M},依次构造以折点为圆心、直径为w的 圆,获取关于笔画折点的构造圆形序列ΙΑ;0 < i < M},如图3 (b)所不;
[0037] 最后,笔画容差带表现为上述矩形序列{P1;0<i<M}与圆形序列{C 1;0彡i彡M} 的并集,如图3(c)所示。
[0038] 本发明将笔画容差带的宽度w定义为笔画最小包络矩形周长c及笔画宽度b的函 数,构造函数如下:
[0040] 步骤3 :若草图绘制未绘制完成,则转步骤1继续输入笔画;否则,得到输入笔画序 列D = {si;0彡i < u} (u为笔画数);
[0041] 步骤4 :对接收到的所有输入笔画序列D = {s1;0彡i < u} (u为笔画数)进行笔 画聚类,从而将草图中所有输入笔画分成若干笔画集合(称为子草图),得到子草图序列G ={g.j;〇彡j < m},其中,m为子草图数,g .j= {s k;0彡k < t .j} (tj彡u)表示子草图,t .j为 子草图g]的笔画数。
[0042] 具体步骤如下:
[0043] 步骤4. 1 :新建一个空的子草图链表G,j = 0, m = 0,。
[0044] 步骤 4· 2 :新1 建子草图 gj,tj= 0, x = 1,y = 1。
[0045] 步骤4. 3 :将D中的第一条笔画s。移除并添加到g y tj = t」+1,ιι = u-1 ;若u = 0, 转步骤4. 6。
[0046] 步骤4. 4 :令X = y,y = tj,采用多笔画重复绘制判定算法依次判定D中剩余的笔 画Sl(0 < i < u)与上一步添加到gj中的笔画sk(x-l< k < y)是否构成多笔画重复绘制, 若是,则将sM D中移除并添加到g _j,tj= t,1,u = u-1。
[0047] 判定两条笔画是否构成多笔画重复绘制的多笔画重复绘制判定算法具体如下,设 nOTtCT的初始值为0 :
[0048] 步骤4.4. 1 :比较两条笔画之间的最小包络矩形的周长,较小的笔画记为s_,另 一条笔画记为Smax;
[0049] 步骤4. 4.
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1