本发明涉及计算机技术领域,具体涉及一种基于双摄像头的触控方法、系统、平台及存储介质。
背景技术:
目前有厂商研发投影键盘的设备,可以把任意平面变成触控区域,从而实现投影仪投影区域的触控。传统的解决方案是:一字型激光器光水平射出的平行光,当手进入光平面的时候,会有反光,反光形成指尖光斑被图像采集器收集,经过三角测距得到手指的距离,从而实现虚拟触控。然而传统的方式有很大的限制性。
在专利1:cn202058100一种投影虚拟键盘,也存在一定的不足,具体体现如下:
缺点1:操作区域必须有一字激光器,且射出的激光必须与操作区域平行;
缺点2:摄像头的位置有严格要求,不能随意改变;
缺点3:如果有异常反光会造成误触,没法真实知道手指。
技术实现要素:
针对以上操作区域必须有一字激光器,且射出的激光必须与操作区域平行;摄像头的位置有严格要求,不能随意改变;以及如果有异常反光会造成误触,没法真实知道手指的技术问题,本发明提供一种基于双摄像头的触控方法、系统、平台及存储介质,可以实现在任意表面上触摸,并且可以真实地识别人的手部以及指尖,同时还可以提取手部和操作区域的三维信息的目的。
本发明具体通过以下技术方案实现:
一种基于双摄像头的触控方法,所述的方法具体包括如下步骤:
获取双摄像头数据;
根据双摄像头数据,得到图像的匹配点;
通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
进一步地,于步骤获取双摄像头数据之中,还包括如下步骤:
分别计算双摄像头的内外参;
通过双摄像头采集图像数据。
进一步地,所述的双摄像头数据具体包括双摄像头的内外参数据和采集的图像数据;
所述的双摄像头具体包括左右或上下两个摄像头。
进一步地,步骤根据双摄像头数据,得到图像的匹配点,具体为采用sift或surf特征点算法,找到双摄像头采集到的图像的匹配点。
进一步地,于步骤根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集中,还包括如下步骤:
根据特征点是否在触控平面内,判断悬空高度。
为实现上述目的,本发明还提供一种基于双摄像头的触控系统,所述的系统具体包括:
第一获取单元,用于获取双摄像头数据;
第二获取单元,用于根据双摄像头数据,得到图像的匹配点;
第三获取单元,用于通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
第一判定单元,用于根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
第二判定单元,用于判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
进一步地,所述的第一获取单元还包括:
计算模块,用于分别计算双摄像头的内外参;
采集模块,用于通过双摄像头采集图像数据;
所述的第一判定单元还包括:
判断模块,用于根据特征点是否在触控平面内,判断悬空高度。
为实现上述目的,本发明还提供一种基于双摄像头的触控平台,包括:
处理器、存储器以及基于双摄像头的触控平台控制程序;
其中在所述的处理器执行所述的基于双摄像头的触控平台控制程序,所述基于双摄像头的触控平台控制程序被存储在所述存储器中,所述的基于双摄像头的触控平台控制程序,实现所述的基于双摄像头的触控方法步骤。
为实现上述目的,本发明还提供一种计算机可读取存储介质,所述计算机可读取存储介质存储有基于双摄像头的触控平台控制程序,所述的基于双摄像头的触控平台控制程序,实现所述的基于双摄像头的触控方法步骤。
与现有技术相比,本发明具有以下有益效果:
本发明通过一种基于双摄像头的触控方法,
获取双摄像头数据;
根据双摄像头数据,得到图像的匹配点;
通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
及相应地系统单元和模块:
第一获取单元,用于获取双摄像头数据;
第二获取单元,用于根据双摄像头数据,得到图像的匹配点;
第三获取单元,用于通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
第一判定单元,用于根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
第二判定单元,用于判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
相应地,所述的第一获取单元还包括:
计算模块,用于分别计算双摄像头的内外参;
采集模块,用于通过双摄像头采集图像数据;
所述的第一判定单元还包括:
判断模块,用于根据特征点是否在触控平面内,判断悬空高度。
及相应地平台及存储介质;
可以使得系统相应的装置的位置没有严格限定,只要图像采集器能捕获到人的手部能识别,而且可以在任意表面上触摸,可以真实地识别人的手部以及指尖,从而有效剔除异常光斑或异物;同时还可以提取手部和操作区域的三维信息。也就是说,可以实现在任意表面上触摸,并且可以真实地识别人的手部以及指尖,同时还可以提取手部和操作区域的三维信息的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于双摄像头的触控方法架构流程示意图;
图2为本发明一种基于双摄像头的触控方法优选实施例架构流程示意图;
图3为本发明一种基于双摄像头的触控系统架构示意图;
图4为本发明一种基于双摄像头的触控系统之模块框架示意图;
图5为本发明一种基于双摄像头的触控平台架构示意图;
图6为本发明一种实施例中计算机可读取存储介质架构示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为便于更好的理解本发明的目的、技术方案和优点更加清楚,下面结合附图和具体的实施方式对本发明作进一步说明,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。
本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。其次,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
优选地,本发明一种基于双摄像头的触控方法应用在一个或者多个终端或者服务器中。所述终端是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。
所述终端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可以与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
本发明为实现一种基于双摄像头的触控方法、系统、平台及存储介质。
如图1所示,是本发明实施例提供的基于双摄像头的触控方法的流程图。
在本实施例中,所述基于双摄像头的触控方法,可以应用于具备显示功能的终端或者固定终端中,所述终端并不限定于个人电脑、智能手机、平板电脑、安装有摄像头的台式机或一体机等。
所述基于双摄像头的触控方法也可以应用于由终端和通过网络与所述终端进行连接的服务器所构成的硬件环境中。网络包括但不限于:广域网、城域网或局域网。本发明实施例的基于双摄像头的触控方法可以由服务器来执行,也可以由终端来执行,还可以是由服务器和终端共同执行。
例如,对于需要进行基于双摄像头的触控终端,可以直接在终端上集成本发明的方法所提供的基于双摄像头的触控功能,或者安装用于实现本发明的方法的客户端。再如,本发明所提供的方法还可以软件开发工具包(softwaredevelopmentkit,sdk)的形式运行在服务器等设备上,以sdk的形式提供基于双摄像头的触控功能的接口,终端或其他设备通过所提供的接口即可实现基于双摄像头的触控功能。
如图1所示,本发明提供了一种基于双摄像头的触控方法,所述方法具体包括如下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
获取双摄像头数据;
根据双摄像头数据,得到图像的匹配点;
通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
具体地,于步骤获取双摄像头数据之中,还包括如下步骤:
分别计算双摄像头的内外参;
通过双摄像头采集图像数据。
较佳地,所述的双摄像头数据具体包括双摄像头的内外参数据和采集的图像数据;
所述的双摄像头具体包括左右或上下两个摄像头。
在本发明实施例中,步骤根据双摄像头数据,得到图像的匹配点,具体为采用sift或surf特征点算法,找到双摄像头采集到的图像的匹配点。
于步骤根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集中,还包括如下步骤:
根据特征点是否在触控平面内,判断悬空高度。
也就是说,在本发明实施例中,本发明方法中设备通过两个普通摄像头、运算模块就可以监控视野范围内的手部动作,并且把手部与触摸表面的接触信息转化为触控信息,从而实现触控;
具体地,如图2所示,
第一步,分别计算两个摄像头的内外参;
采用张氏标定法,具体地内外参的计算:
设三维世界坐标点为
其中各参数分别表示:s代表世界坐标系到图像坐标系的尺度因子,a代表相机内参矩阵,(u0,v0)代表像主点坐标,α,β代表焦距与像素纵横比的融合,γ代表径向畸变参数,r代表旋转矩阵,t代表平移向量,
设棋盘格位于z=0,定义旋转矩阵第三列为r3=0,则有
具体地外参的计算:又有h=λa[r1r2t],单应矩阵h可以通过四个对应点算出。然后用qr分解出上下角矩阵a,从而可以得到外参数r1r2t。
再回到内参计算:
由于r1r2正交,r1r2模相等,有如下约束
令
当γ=0时,未知量4个,则通过2组标定平面,即两张相片即可得到内参。则可标定双目相机。
第二步,左右或上下两个摄像头分别采集图像;
第三步,找到左图和右图的匹配点;采用sift、surf等特征点算法;
一对匹配点是指世界坐标系上的一个真实物理三维点映射到左图和右图上的像素点,或者称为同名点。采用sift、surf等特征点检测算法可以找到图像上的候选特征点(具有尺度,光照,仿射等不变性),再通过knn等匹配算法从候选点中筛选出同名点。
第四步,通过三角测距得到三维点到摄像头的距离;
原理解释:已知像对的两幅图像的内参数k1,k2以及外参数m1,m2,则摄像机矩阵为p1=k1m1,p2=k2m2,匹配点x1,x2及其三维点x有如下关系:x1=p1x,x2=p2x,该等式为齐次关系,因此可写成x1×(p1x)=0,x2×(p2x)=0,转化为线性方程的形式:
其中pi表示p的第i行,对矩阵a作svd分解a=udvt,则矩阵v的最后一列即为x的解。将此x作为初值,再作lm迭代优化,即可求出x较为准确的值。
第五步,特征点是否在触控平面内,判断悬空高度;
通过第四步计算出来的特征点对应到真实物理世界的三维点,判读该点与屏幕平面的距离,作为该点的悬空高度。
ax+by+cz+d=0(8)
第六步,归为前景集或归为背景,轮廓光斑,gmm等背景建模算法;
也就是说,通过gmm等背景建模算法,从图像上提取出手指肤色斑块为前景,除此以外其它的图像部分为背景,利用前面的第三、四步计算手指局部区域的三维坐标,由于手指的三维坐标是已知的,因此墙面,屏幕等物体表面,在手指触碰时,可得到(推算出)触碰点的三维位置。基于多点标定的策略,使用专利2018109365339提及的n点标定法,或其它类似的标定方法,确定表面的位置。
第七步,判断前景与背景是否有交集,分水岭分割,区域生长算法;
第八步,手部是空或手部触控到操作区域;
第九步,反馈触控结果。
为实现上述目的,如图3所示,本发明还提供一种基于双摄像头的触控系统,所述的系统包括:
第一获取单元,用于获取双摄像头数据;
第二获取单元,用于根据双摄像头数据,得到图像的匹配点;
第三获取单元,用于通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
第一判定单元,用于根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
第二判定单元,用于判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
相应地,如图4所示,所述的第一获取单元还包括:
计算模块,用于分别计算双摄像头的内外参;
采集模块,用于通过双摄像头采集图像数据;
所述的第一判定单元还包括:
判断模块,用于根据特征点是否在触控平面内,判断悬空高度。
具体地,所述的双摄像头数据具体包括双摄像头的内外参数据和采集的图像数据;
所述的双摄像头具体包括左右或上下两个摄像头。
根据双摄像头数据,得到图像的匹配点,具体为采用sift或surf特征点算法,找到双摄像头采集到的图像的匹配点。
本发明还提出一种基于双摄像头的触控平台,如图5所示,包括:处理器、存储器以及基于双摄像头的触控平台控制程序;
其中在所述的处理器执行所述的基于双摄像头的触控平台控制程序,所述基于双摄像头的触控平台控制程序被存储在所述存储器中,所述的基于双摄像头的触控平台控制程序,实现所述的基于双摄像头的触控方法步骤,例如:
获取双摄像头数据;
根据双摄像头数据,得到图像的匹配点;
通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
步骤具体细节已在上文阐述,此处不再赘述;
本发明实施例中,所述的基于双摄像头的触控平台内置处理器,可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器利用各种接口和线路连接取各个部件,通过运行或执行存储在存储器内的程序或者单元,以及调用存储在存储器内的数据,以执行基于双摄像头的触控各种功能和处理数据;
存储器用于存储程序代码和各种数据,安装在基于双摄像头的触控平台中,并在运行过程中实现高速、自动地完成程序或数据的存取。
所述存储器包括只读存储器(read-onlymemory,rom),随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
本发明还提出一种计算机可读取存储介质,如图6所示,所述计算机可读取存储介质存储有基于双摄像头的触控平台控制程序,所述基于双摄像头的触控平台控制程序,实现所述的基于双摄像头的触控方法步骤,例如,
获取双摄像头数据;
根据双摄像头数据,得到图像的匹配点;
通过图像的匹配点,结合三角测距得到三维点到双摄像头的距离;
根据双摄像头数据,判定特征点是否在触控平面内,若是则执行下一步,否则归为前景集;
判定前景和背景是否有交集,若是则判定为手部触碰到操作区域,并发出相应的操作指令,否则判定手部悬空。
步骤具体细节已在上文阐述,此处不再赘述;
在本发明的实施方式的描述中,需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读取介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。
另外,计算机可读取介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
通过本发明的方法步骤、系统、平台及存储介质,可以使得系统相应的装置的位置没有严格限定,只要图像采集器能捕获到人的手部能识别,而且可以在任意表面上触摸,可以真实地识别人的手部以及指尖,从而有效剔除异常光斑或异物;同时还可以提取手部和操作区域的三维信息。也就是说,可以实现在任意表面上触摸,并且可以真实地识别人的手部以及指尖,同时还可以提取手部和操作区域的三维信息的目的。
换言之,与现有技术相比,本发明优势1:装置的位置没有严格限定,只要图像采集器能捕获到人的手部能识别
优势2:可以在任意表面上触摸,包括但不限于曲面;
优势3:可以真实地识别人的手部以及指尖,从而有效剔除异常光斑或异物;
优势4:可以提取手部和操作区域的三维信息。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。