一种在投影交互系统中提升线条绘制速度的方法技术方案

技术编号:13981029 阅读:59 留言:0更新日期:2016-11-12 11:32
本发明专利技术涉及一种在投影交互系统中提升线条绘制速度的方法,包括:从鼠标按下时刻开始,在窗体上绘制第一个采样点;在前一时刻绘制的基础上,进行增量式绘制;结合最近一次采样点的位置,对当前时刻鼠标所在位置是否应该采样进行判断;根据当前采样点,与前一个采样点的欧氏距离,判断当前时刻是否需要刷新,对窗体内容进行更新;计算最新的线条对应的重绘区域,在窗体上该重绘区域内进行重新绘制,更新窗体内容;鼠标弹起,本次线条的绘制结束。本发明专利技术在线条绘制过程中,只需要绘制少量数目的采样点,并且尽量降低刷新频率和刷新面积,使得系统的计算量降低到极致,从而给用户带来了流畅的感觉,用户体验明显提升。

【技术实现步骤摘要】

本专利技术涉及基于计算机视觉技术的人机交互
,尤其是一种在投影交互系统中提升线条绘制速度的方法
技术介绍
人机交互技术是计算机科学中至关重要的一个领域,其发展历史基本上代表了计算机的发展历史。从最早的大型机上的笨拙的开关系统,到早期键盘和鼠标的出现,以及当下流行的触摸屏,人机交互技术的发展速度日新月异。近年来,由于计算机视觉技术的飞速发展,以及新的传感器,比如深度相机Kinect、LeapMotion等的出现,使得各种便捷式的人机交互方式层出不穷。由于目前Kinect等深度相机在距离精度和空间分辨率上,都明显不足,利用Kinect等深度相机直接与计算机进行交互,并不能达到进行精细操作的目的,不能直接在利用投影仪投射在墙壁上的显示区域内进行便捷而灵敏的操作。利用光笔和摄像头组合形成的投影交互系统,对投影图像进行操作,是最近出现的一种新技术,该系统不仅安装方便,使用便捷,而且成本也在可以接受的范围以内,因此很适合作为在教室内与会议室内进行演示和讲解的工具。利用投影交互系统进行演示和讲解的过程中,绘制线条和写字是最常见的操作。利用光笔或者手指直接在墙壁上或者白板上,对投影内容进行各种批注和绘制,可以显著提高演示和讲解的效果,加强观众的印象和理解。但是,常见的线条绘制方法并没有考虑如何降低绘制过程中的系统负载,不仅每一个时刻点都需要对当前画面中的所有的线条,所有点的采样点进行绘制,而且在每个时刻点,都对画面整体进行刷新,造成了大量的重复绘制和刷新。因此,常见的方法很容易给用户造成画线不流畅、系统不灵敏的感觉,带来了很差的用户体验。
技术实现思路
本专利技术的目的在于提供一种能够减小被绘制的线条的复杂程度,提高线条绘制的速度;降低刷新频率和系统负载,提高线条绘制的流畅程度的在投影交互系统中提升线条绘制速度的方法。为实现上述目的,本专利技术采用了以下技术方案:一种在投影交互系统中提升线条绘制速度的方法,该方法包括下列顺序的步骤:(1)从鼠标按下时刻开始,在窗体上绘制第一个采样点;(2)在前一时刻绘制的基础上,进行增量式绘制:将最新出现的几个采样点,以及其对应的线条,叠加到前一时刻绘制的结果上,得到当前时刻的绘制内容;(3)结合最近一次采样点的位置,对当前时刻鼠标所在位置是否应该采样进行判断;(4)根据当前采样点,与前一个采样点的欧氏距离,判断当前时刻是否需要刷新,对窗体内容进行更新;(5)计算最新的线条对应的重绘区域,在窗体上该重绘区域内进行重新绘制,更新窗体内容;(6)鼠标弹起,本次线条的绘制结束。所述采样点是指,在鼠标的移动过程中,每一个时刻对应一个鼠标坐标位置,由于鼠标的位置刷新速度快,一秒钟有几十个坐标位置,对这几十个坐标位置进行抽样,选择其中的一部分来进行绘图,这些被选中的鼠标坐标位置即为采样点。在步骤(2)中,所述采样点的选取方法如下:2a)设置用于存储所有采样点的采样点队列和用于存储候选采样点的候选队列;2b)将第一个鼠标点位置加入到采样点队列中;2c)计算第二个鼠标点到第一个采样点的欧氏距离,如果该欧氏距离大于采样距离阈值Th_sample_dist,则将第二个鼠标点加入采样点队列;反之,将第二个鼠标点暂时记录在候选队列中;2d)从采样点队列中提取出前一个采样点坐标P1,然后计算当前点P与P1之间的欧式距离,将该欧氏距离与采样距离阈值Th_sample_dist进行比较:2d1)若前者大于后者,则从候选队列中提取候选点;若候选点不存在,将当前点P加入到采样点队列中;若存在候选点P2,则计算由P、P2、P1组成的以P2为顶点的三角形的夹角,若夹角接近平角,说明此时当前点P与候选点P2,以及前一个采样点P1在同一条线上,清空候选队列,将当前点P加入到采样点队列;若夹角非接近平角,说明当前点P与候选点P2、前一个采样点P1非在一条直线上,此时将候选点P2加入到采样点队列,当前点P取代候选点P2成为候选点;返回步骤2d),进入循环;2d2)若前者小于后者,则从候选队列中提取候选点;若候选点不存在,将当前点P加入到候选队列中去,成为候选点;若存在候选点P2,则计算由P、P2、P1组成的以P2为顶点的三角形的夹角;如果夹角接近平角,则用当前点P代替候选点P2;若夹角非接近平角,则将候选点P2加入采样点队列,使当前P成为候选点;返回步骤2d),进入循环。在步骤(2)中,所述增量式绘制的方法如下:2e)将当前窗体上的显示内容,全部都保存到内存中,存储在一幅称为历史图像的图像中;2f)将历史图像中的绘制内容复制出来,然后绘制最新的采样点及其对应的线条,将新绘制内容与复制的历史图像内容进行累加融合,得到当前内容;2g)将当前内容绘制到缓存中,该缓存是双缓存机制的第一块缓存;2h)将缓存中的当前绘制内容,绘制到窗体上,并且对窗体进行刷新;2i)用当前绘制内容更新历史图像,为下一次绘制做准备。在步骤(4)中,判断某一个时刻是否需要刷新,判断其与前一个刷新点的欧式距离,若两个刷新点之间的欧氏距离小于刷新距离阈值Th_refresh_dist,则不进行刷新,否则,进行刷新。在步骤(5)中,所述重绘区域是指被重新绘制的区域,只针对增量式绘制时当前区域新出现的线条对应的外接矩形区域进行重绘,用小矩形序列来代替线条的外接矩形,覆盖原来的重绘区域,所述小矩形队列的计算方法如下:5a)先设定矩形队列中的小矩形的最大边长阈值和小矩形数目上限;5b)计算当前线段的线条长度和方向角;5c)比较线条长度与小矩形最大边长阈值:5c1)若前者小于后者,则继续增加后续线条,分析总体外接矩形的尺寸,如果该尺寸依然小于阈值,则继续增加新的线条,直到外接矩形尺寸大于最大边长阈值时,用此时的几条线条的外接矩形进行重绘;5c2)若前者大于后者,则判断外接矩形中较短一边与最大边长阈值的大小关系,如果外接矩形中较短一边小于最大边长阈值,则直接用线条外接矩形作为重绘区域进行重绘;如果外接矩形中较短一边大于最大边长阈值,则计算小矩形边长与数目阈值的乘积,将外接矩形中较短一边与该乘积进行比较,若外接矩形中较短一边大于乘积,则将线条长度按照数目阈值进行等分,根据等分线条对应的位置得到小矩形队列;若外接矩形中较短一边小于乘积,则参照最大边长阈值对线条进行均分,得到相应的小矩形队列;5d)利用小矩形队列对画面区域进行重绘。由上述技术方案可知,本专利技术在线条绘制过程中,只需要绘制少量数目的采样点,并且尽量降低刷新频率和刷新面积,使得系统的计算量降低到极致,从而给用户带来了流畅的感觉,用户体验明显提升。常规的绘制线条的方法,由于采样点没有精选,容易导致局部区域采样点过于密集,线条形状出现锯齿状的现象,本专利技术适度减低了密集区域的采样点,使得线条的形状更加平滑,视觉效果更好。附图说明图1为本专利技术的方法流程图;图2为本专利技术中增量式绘制方法流程图;图3为本专利技术中采样点选取方法流程图;图4为本专利技术中线条重绘区域的计算的方法流程图;图5为现有技术中线条的重绘区域示意图;图6为用系列小矩形代替线条的重绘区域示意图。具体实施方式如图1所示,一种在投影交互系统中提升线条绘制速度的方法,该方法包括下列顺序的步骤:(1)从鼠标按下时刻开始,在窗体上绘制第一个采样点;(2)在前一时刻绘制的基础上本文档来自技高网...
一种在投影交互系统中提升线条绘制速度的方法

【技术保护点】
一种在投影交互系统中提升线条绘制速度的方法,该方法包括下列顺序的步骤:(1)从鼠标按下时刻开始,在窗体上绘制第一个采样点;(2)在前一时刻绘制的基础上,进行增量式绘制:将最新出现的几个采样点,以及其对应的线条,叠加到前一时刻绘制的结果上,得到当前时刻的绘制内容;(3)结合最近一次采样点的位置,对当前时刻鼠标所在位置是否应该采样进行判断;(4)根据当前采样点,与前一个采样点的欧氏距离,判断当前时刻是否需要刷新,对窗体内容进行更新;(5)计算最新的线条对应的重绘区域,在窗体上该重绘区域内进行重新绘制,更新窗体内容;(6)鼠标弹起,本次线条的绘制结束。

【技术特征摘要】
1.一种在投影交互系统中提升线条绘制速度的方法,该方法包括下列顺序的步骤:(1)从鼠标按下时刻开始,在窗体上绘制第一个采样点;(2)在前一时刻绘制的基础上,进行增量式绘制:将最新出现的几个采样点,以及其对应的线条,叠加到前一时刻绘制的结果上,得到当前时刻的绘制内容;(3)结合最近一次采样点的位置,对当前时刻鼠标所在位置是否应该采样进行判断;(4)根据当前采样点,与前一个采样点的欧氏距离,判断当前时刻是否需要刷新,对窗体内容进行更新;(5)计算最新的线条对应的重绘区域,在窗体上该重绘区域内进行重新绘制,更新窗体内容;(6)鼠标弹起,本次线条的绘制结束。2.根据权利要求1所述的在投影交互系统中提升线条绘制速度的方法,其特征在于:所述采样点是指,在鼠标的移动过程中,每一个时刻对应一个鼠标坐标位置,由于鼠标的位置刷新速度快,一秒钟有几十个坐标位置,对这几十个坐标位置进行抽样,选择其中的一部分来进行绘图,这些被选中的鼠标坐标位置即为采样点。3.根据权利要求1所述的在投影交互系统中提升线条绘制速度的方法,其特征在于:在步骤(2)中,所述采样点的选取方法如下:2a)设置用于存储所有采样点的采样点队列和用于存储候选采样点的候选队列;2b)将第一个鼠标点位置加入到采样点队列中;2c)计算第二个鼠标点到第一个采样点的欧氏距离,如果该欧氏距离大于采样距离阈值Th_sample_dist,则将第二个鼠标点加入采样点队列;反之,将第二个鼠标点暂时记录在候选队列中;2d)从采样点队列中提取出前一个采样点坐标P1,然后计算当前点P与P1之间的欧式距离,将该欧氏距离与采样距离阈值Th_sample_dist进行比较:2d1)若前者大于后者,则从候选队列中提取候选点;若候选点不存在,将当前点P加入到采样点队列中;若存在候选点P2,则计算由P、P2、P1组成的以P2为顶点的三角形的夹角,若夹角接近平角,说明此时当前点P与候选点P2,以及前一个采样点P1在同一条线上,清空候选队列,将当前点P加入到采样点队列;若夹角非接近平角,说明当前点P与候选点P2、前一个采样点P1非在一条直线上,此时将候选点P2加入到采样点队列,当前点P取代候选点P2成为候选点;返回步骤2d),进入循环;2d2)若前者小于后者,则从候选队列中提取候选点;若候选点不存在,将当前点P加入到候选队列中去,成为候选点;若存在候选点P2,则计算由P、P2、P1组成的以P...

【专利技术属性】
技术研发人员:汪俊锋邓宏平
申请(专利权)人:安徽慧视金瞳科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1