1 引言
目前,普通触摸屏主要有红外线式、电阻式、表面声波式、电容式等类型,然而这些类型的大屏幕尤其是超大屏幕触摸屏产品,均存在价格昂贵、通用性差、稳定性差、准确性差的问题。现在实现了一种基于摄像头的虚拟触摸屏系统,改变了传统的触摸屏的实现技术,它由多个摄像头拍摄手指在虚拟触摸屏上的移动和点击操作,从拍摄的图像中将人手区域分割出来,进而提取手指的边缘轮廓,将手指轮廓的B 样条曲线的第4 个控制点定义为手指位置,由二维坐标射影变换公式转换进而获得手指在显示屏幕上的位置坐标。这一技术方案本质是用多个摄像头将手指及触摸屏的三维图像转换成多个二维图像,进而从这些二维图像中识别出手指及手指的移动、点击等动作。因为拍摄的图像必须包含显示屏幕,所以摄像头必须放置在显示屏幕的前方,对于大屏幕触摸屏必然存在人体遮挡无法识别手指的问题。该文设计的虚拟触摸屏系统由一维图像采集装置采集手指在虚拟触摸屏上的一维数据,由多个一维数据识别手指在二维虚拟触摸屏上的位置坐标,从而完成人机交互。
2 系统概述
虚拟触摸屏系统由至少两个一维图像采集装置、显示屏和数据处理装置组成。一维图像采集装置设置在虚拟触摸屏的四周,每个一维图像采集装置获取的一维图像所在面与虚拟触摸屏处于同一平面;虚拟触摸屏与显示屏幕的形状和尺寸完全相同,虚拟触摸屏与显示屏幕处在同一平面内,或虚拟触摸屏处于显示屏幕的正前方且平行于显示屏幕;多个一维图像采集装置将手指在虚拟触摸屏上的位置和点击动作转换成多个一维图像中的点及点的有无,数据处理装置根据一维图像中点的信息识别手指在虚拟触摸屏中的两维直角坐标,并执行相应的操作,完成人机交互功能。它结构简单,实现方便,造价低廉,解决了使用图像技术实现的普通触摸屏存在的人体遮挡手指的问题,特别适用于大屏幕触摸系统。一维图像采集装置采用一维线性传感器,配合设置镜头、信号转换和接口电路实现;或采用两维图像采集装置摄像头,以摄像头采集到的两维图像中的一行或一列的图像数据作为所需的一维图像数据。
系统结构如图1所示。
与已有技术相比,该设计的优点体现在:
(1)图像采集装置设置在虚拟触摸屏的四周,其拍摄方向与虚拟触摸屏平行,从根本上解决了人体遮挡引起手指无法识别的问题,尤其是因其避免了人体遮挡的问题,因而可以扩展到投影屏幕、普通墙面等任何大屏幕,通用性好。
(2)只需进行一维图像数据的处理,相比于二维图像的数据处理,其过程大为简化、算法简单。
(3)采用一维线性传感器,配合设置镜头、信号转换和接口电路,其配置简单,价格便宜。
(4)也可以采用两维图像采集装置摄像头,以两维图像中的一行或一列的图像数据作为所需的一维图像数据,易于实施。
(5)一般情况下只要使用两个图像采集装置。使用两个以上图像采集装置可以减小图像采集装置与显示屏之间的距离,对于较大屏幕来说,可以使整个系统更加紧凑。
3 实现原理
由于摄像头价格便宜,易于获得,于是将系统结构图中的一维图像采集装置由摄像头来替代,由其拍摄的二维图像中的一维图像数据来识别二维显示屏幕上的位置坐标。由于摄像头镜片与虚拟触摸屏垂直,当用户进行手指触摸操作时,手指的运动平面与虚拟触摸屏平行,因此手指在虚拟触摸屏上的运动轨迹一直显示在摄像头所拍摄图像的某条确定直线上。手指在二维显示屏幕平面上的运动,转换为手指点在摄像头拍摄的两幅图像的某条确定直线上的移动。左右摄像头拍摄的两幅图像中直线上的点和二维显示屏平面中的某点存在一一对应的关系。如图3所示,问题即转换为根据两幅图像中手指移动直线上的点的位置来唯一确定用户手指触摸的二维平面上的点坐标。其实质为由两个一维坐标点和一些初始角度值来唯一确定二维平面内的一点坐标。
下面以左边摄像头为例说明转换过程,右边摄像头类似。
假设虚拟触摸屏是如图4所示的矩形区域,以左下角为原点,建立二维坐标平面x、y。左边摄像头c1位于虚拟触摸屏左上角某处,其视角范围应包含整个矩阵区域,将c1与矩形的4个顶点连接构成摄像头拍摄各点的光线方向,以经过左下角和右上角顶点的光线方向为腰,c1为顶点作一个等腰三角形,底为虚线所示的(u1,u2)。当手指在矩形区域内任意一点触摸时,其在摄像头所拍摄的图像中均表现为虚线上的一点,手指在二维虚拟触摸屏上的移动投影到图像上不会超过这条虚线(u1,u2)范围,这是算法关注的兴趣区域,区域以外的部分不需要处理。因此以u1为原点沿着虚线方向建立一维坐标x1,右边摄像头拍摄图像中的一维坐标x2类似设立。