多点触摸互动桌面系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多点触摸互动桌面系统设计与实现
王毅刚,吴国华
(杭州电子科技大学 图形图像研究所,杭州 310018)
摘要:计算机多点触摸技术是人机交互领域中的热门技术,多点触摸系统作为一种未来
的交互概念已逐渐在商业领域发展起来并逐步推向大众。本文提出并设计了一种基于计
算机视觉的多点触摸互动桌面系统,解决了红外检测、多点触摸、屏幕拼接、桌面特效
实时渲染等关键技术。该系统已在2010年上海世博会主题馆展出。
关键词:计算机视觉、红外检测、多点触摸、屏幕拼接、实时渲染、互动桌面
1.引言
计算机多点触摸技术是人机交互领域研究中的一个技术热点,近年来已逐步在商业
领域发展起来。像Apple、Microsoft、NYU等著名公司和研究机构已经将多点触摸系统
作为一种未来的交互概念正在推向大众。可以预见,在不远的将来,多点触摸系统将更
加深入我们的生活。
由于目前我们接触的多点交互系统运算的复杂性,而为了提高系统效率,很大程度
上限制了实时三维交互技术在多点交互系统中的运用,因此目前市场上看到的比较成熟
的多点交互系统都是以二维或非实时三维画面为主。
本文将介绍一种基于计算机视觉的多点触摸三维互动桌面系统,介绍系统总体的硬
件结构设计和软件设计,给出红外检测、多点触摸、屏幕拼接、桌面三维效果实时渲染
等关键技术的实现原理和过程。
2.系统总体结构设计
系统总体结构如图1所示。采用两个投影机投出桌面效果,两个投影机投出的画面
有部
分重叠区域,采用屏幕拼接技术实现桌面效果的无缝拼接。桌面边缘放置一圈红外发光二极管作为红外源,当手指触摸到桌面时,会将红外光反射到摄像头,再将摄像头采集到的图像作灰度变换、平滑去噪、去除背景、分割目标等处理,从而得到触摸点的位置。最后,系统根据触摸点的位置,实时更新和渲染桌面效果。根据以上结构,系统各模块如图2所示。
3.关键技术及系统实现
3.1 多点触摸
多点触摸(Multi-Touch)是采用人机交互技术与硬件设备共同实现的技术,能在没有传统输入设备下同时接受来自屏幕上多个点进行计算机的人机交互操作。多点触摸可分为LLP、FTIR、ToughtLight、Optical Touch等几种类型。本文采用FTIR(受抑全内反射技术)
实现多点触摸。
图1系统总体结构图
图2 系统总体模块图
FTIR技术原理如图3所示。当光线从光密介质射入光疏介质且入射角大于全反射临界角时,在两介质分界面处将发生全反射。空气相对普通玻璃介质是光疏介质。当红外线从侧面射入玻璃介质时,由于红外线透过玻璃介质入射到空气中的入射角一般大于全反射临界角,所以红外LED射出的光线大部分不会透过玻璃介质射入空气之中。当利用手指和屏幕的接触时,破坏玻璃屏幕的全反射,从而有光从手指反射出屏幕的平面。LED发出的红外光线照射到手指尖上,从而使得手指的指尖特别亮。
图3 FTIR—受抑全内反射图
当手指触摸介质,就会有亮点信号显示出来。用红外摄像头把屏幕背面拍摄下来,然后通过计算机识别出每个亮点的位置,与程序相结合,就可以实现丰富的多点触摸效果。
3.2 屏幕拼接
由于单台显示设备所能显示的画面大小和精度有限,本文采用将两台投影机拼接起来的方式形成一个逻辑上统一的大屏幕。屏幕拼接的一个难题是投影仪的定位,投影仪只有与投影幕垂直时才能得到矩形的图像,否则就会产生梯形失真。并且两个投影机在垂直和水平位置上的偏差,会导致投出的画面会存在大小、位置和方向上的偏差,如图4所示。
图4 投影机投出的原始画面 图5 经过几何校准的投影机画面 对于投影机投出画面的梯形失真和位置偏差,本文的解决方法如下:
1.旋转投影画面,使画面的中心线与水平线平行;
2.平移投影画面,使画面的中心线与水平线重叠;
3.缩放投影画面,使两个投影机的画面大小一致;
4.对投影画面作梯形校准,使投出的画面呈方形;
5.多次重复上述步骤,直到两个投影机的画面完全一致,如图5所示。
经过几何校正,投影幕上得到的图像是非扭曲的。相邻的两个子图像有两种排列方法:图像不重叠,让它们紧密地排列在一起;相邻的图像部分重叠。
第一种方法被称之为硬拼接,处理简单,但会形成一条无法消除的缝。根据人眼对颜色缓慢变化要迟钝得多的特性,将相邻的图像部分重叠,使颜色平滑地从一边过渡到另一边,这种方法被称之为边缘融合(软拼)。本文采用软拼的方式,用Alpha Mask方法,赋给重叠区每个象素的亮度一个权值,并使同一位置的权值和为1。
3.3 桌面三维效果实时绘制和交互设计
由于目前我们接触的多点交互系统运算的复杂性,而为了提高系统效率,很大程度上限制了实时三维交互技术在多点交互系统中的运用,因此目前市场上看到的比较成熟的多点交互系统都是以二维或非实时三维画面为主。
本文以三维方式实时渲染桌面交互效果。三维场景的真实感实时渲染包括三维建模、光照、纹理贴图、骨骼动画、阴影生成等技术。
系统的交互设计用红外摄像头采集桌面背景图像,然后作灰度变换、平滑去噪、去除背景、分割目标等处理,得到触摸点的位置。最后,系统根据触摸点的位置,实时更新桌面效果。
3.4 系统实现
根据以上设计,采用VC++2008、OpenCV和OpenGL作为开发工具,实现了一款互动桌面系统,部分桌面效果如图6、7所示。图6桌面显示的是水波效果,桌面随着手指的触摸和滑动会产生水纹和波光粼粼的效果,图7桌面显示的是鱼游动的效果,当手指点到鱼上时,会显示带有一句话的对话框。
图6 水波互动效果 图7 鱼互动效果
4.结束语
本文介绍了设计与实现多点触摸互动桌面系统的主要技术和原理,按照这些技术可设计开发出一种具有较高真实感、实时性、交互性和娱乐性的桌面互动系统。但由于篇幅有限,有些技术未能深入介绍。此外,进一步完善系统,以适应不同领域的需求还有很多工作要做。
5.参考文献:
[1] 李谦升.基于计算机视觉的多点触摸系统的设计与实现[D].上海大学,2008,04.
[2] 蒋飞.Papervision3D在计算机多点触摸领域的研究及运用[D].上海大学,2009,04.
[3] 曹双喜,陈福民.多投影仪拼接显示的实现[J].计算机工程与应
用,2005,2:84-86.