法律状态公告日
法律状态信息
法律状态
2019-04-23
授权
授权
2016-12-14
实质审查的生效 IPC(主分类):G06F3/042 申请日:20160617
实质审查的生效
2016-11-16
公开
公开
技术领域
本发明涉及虚拟技术领域,尤其涉及一种坐标匹配方法及使用该坐标匹配方法的操控方法和终端。
背景技术
基于触摸屏的各种显示器在各行业早已具有广泛使用,操作中可以对着屏幕直接点击拾取自己需要的信息,无需使用鼠标键盘等工具即可直接完成各种点击、双击、拖动、缩放等触控动作以操作各种显示内容的播放,使用非常方便。但对有些设备,例如屏幕、投影墙、LED墙、DLP墙、电视等,加装触屏就成本较高或者根本不可能,就需要多种其它的操控方式来实现,例如红外线感应的方式、超声波的方式等,从成本、安装方式、精度等方面考虑,各种其他的操控方式都有自身的缺点。单从操控精度方面考虑,各种其他操控方式的操控精度都有待提高。
发明内容
本发明提出了一种坐标匹配方法及使用该坐标匹配方法的操控方法和终端,利用图像进行坐标转换来实现屏幕的触控操作,提高了操控精度。
一种坐标匹配方法,所述方法包括:
显示基准图像于屏幕上,所述基准图像包括基准图形区域以及非基准图形区域,所述基准图形区域包括至少三个基准图形,每个基准图形采用同一种颜色,基准图形区域的颜色区别于非基准图形区域的颜色;
获取基准图形的中心在屏幕上的二维坐标p1,p2,p3,其中,与垂直;
将深度传感器获取的基准图像的彩色图像像素点的RGB值与所述基准图形的RGB值进行比较,以获取所述基准图形的轮廓像素点;
根据所述基准图形的轮廓像素点,计算出所述基准图形中心在彩色图像中的像素点坐标;
根据所述基准图形中心在彩色图像中的像素点坐标,利用深度传感器的彩色图像向深度图像的转化,以得到所述基准图形中心在深度图像中的像素点坐标和深度值;
计算深度传感器的深度摄像头焦距f在像面坐标系x方向上以像素为单位的值f/dx和y方向上以像素为单位的值f/dy;
根据计算出的f/dx、f/dy,所述基准图形中心在深度图像中的像素点坐标和深度值,像素坐标系和深度摄像头坐标系之间的关系,计算出所述基准图形中心在深度摄像头坐标系下的坐标p1',p'2,p'3,以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。
一种终端,所述终端包括:
显示模块,用于显示基准图像于终端的屏幕上,所述基准图像包括基准图形区域以及非基准图形区域,所述基准图形区域包括至少三个基准图形,每个基准图形采用同一种颜色,基准图形区域的颜色区别于非基准图形区域的颜色;
二维坐标获取模块,用于获取基准图形的中心在屏幕上的二维坐标p1,p2,p3,其中,与垂直;
轮廓像素点获取模块,用于将深度传感器获取的基准图像的彩色图像像素点的RGB值与所述基准图形的RGB值进行比较,以获取所述基准图形的轮廓像素点;
像素点坐标计算模块,用于根据所述基准图形的轮廓像素点,计算出所述基准图形中心在彩色图像中的像素点坐标;
深度值获取模块,用于根据所述基准图形中心在彩色图像中的像素点坐标,利用深度传感器的彩色图像向深度图像的转化,以得到所述基准图形中心在深度图像中的像素点坐标和深度值;
单位像素值计算模块,用于计算深度传感器的深度摄像头焦距f在像面坐标系x方向上以像素为单位的值f/dx和y方向上以像素为单位的值f/dy;
三维坐标计算模块,用于根据计算出的f/dx、f/dy,所述基准图形中心在深度图像中的像素点坐标和深度值,像素坐标系和深度摄像头坐标系之间的关系,计算出所述基准图形中心在深度摄像头坐标系下的坐标p1',p'2,p'3,以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。
一种操控方法,所述方法包括:
设置检测操控物体的识别区域;
对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点;
将所述操控物体的触控点投影到屏幕上得到所述操控物体的触控点在深度摄像头坐标系下的坐标p;
根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕的二维坐标p'以获得操控物体的运动轨迹。
一种终端,所述终端包括:
设置模块,用于设置检测操控物体的识别区域;
触控点计算模块,用于对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点;
三维坐标获取模块,用于将所述操控物体的触控点投影到终端的屏幕上得到所述操控物体的触控点在深度摄像头坐标系下的坐标p;
二维坐标计算模块,用于根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕上的二维坐标p'以获得操控物体的运动轨迹。
上述方法和终端,利用获取的图像实现深度摄像头坐标系下的三维坐标与屏幕上的二维坐标的转换,进而记录操控物体的运动轨迹以实现屏幕的触控操作,提高了操控精度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种坐标匹配方法流程图;
图2为计算f/dx、f/dy的方法流程图;
图3为一种终端的示意性框图;
图4为单位像素值计算模块的示意性框图;
图5为一种终端的另一种示意性框图;
图6为一种操控方法示意流程图;
图7为本发明实施例提供的一种方法流程图;
图8为本发明实施例提供的另一种方法流程图;
图9为另一种终端的示意性框图;
图10为触控点计算模块的示意性框图;
图11为二维坐标计算模块的示意性框图;
图12为另一种终端的另一种示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1为一种坐标匹配方法流程图,该方法包括S101~S107。
S101,显示基准图像于屏幕上,该基准图像包括基准图形区域以及非基准图形区域,该基准图形区域包括至少三个基准图形,每个基准图形采用同一种颜色,基准图形区域的颜色区别于非基准图形区域的颜色。
根据预先建立的屏幕的二维坐标系,显示基准图像于屏幕上,该基准图像包括基准图形区域以及非基准图形区域。基准图形可以为圆形,也可以为椭圆形、三角形等,优选地,基准图形为圆形。基准图形区域包括至少三个基准图形当有三个基准图形时,该三个基准图形的中心点确定一个直角三角形,当有四个基准图形时,该四个基准图形的中心点确定一个矩形框,当有多于四个基准图形时,其中四个基准图形的中心点确定一个矩形框,另外的基准图形的中心点位于矩形框的四个边上。优选地,基准图形为三个。每个基准图形采用同一种颜色,多个基准图形可采用同样的颜色,也可采用不同的颜色,基准图形区域的颜色要区别于非基准图形区域的颜色。优选地,当基准图形为三个时,可采用红色、绿色、蓝色。当基准图形为四个时,可采用红色、绿色、蓝色、黑色。非基准图形区域可以有图像,也可以没有任何图像。
S102,获取基准图形的中心在屏幕上的二维坐标p1,p2,p3,其中,与垂直。基准图形为三个,基准图形的中心在屏幕上的二维坐标分别为p1,p2,p3,其中,与垂直。由于基准图形在屏幕上的位置是确定的,因此,基准图形的中心在屏幕上的坐标也是确定的。基准图形的中心在屏幕上的二维坐标可通过人工量取输入,由软件获取,也可用其他可行的方法获取。
S103,将深度传感器获取的基准图像的彩色图像像素点的RGB值与所述基准图形的RGB值进行比较,以获取所述基准图形的轮廓像素点。
其中,深度传感器加装在屏幕的上方或者侧面。当基准图形的颜色为红色、绿色、蓝色三基色时,就可以利用其中之一的分量与另外两个分量的差值。差值作为阈值,对深度传感器获取的彩色图像的像素点的RGB进行判断,以得到基准图形的轮廓区域。而黑色的基准图形,由于RGB值都为0,即使在深度传感器的彩色图像里面有色差,但是相对于周围环境的像素点的RGB之和依然比较小,可以利用RGB的三基色的和与阈值把黑色基准图形的轮廓区域求出来。其中,深度传感器能获取彩色图像和彩色图像对应的深度图像。深度传感器优选为Kinect传感器。
S104,根据基准图形的轮廓像素点,计算出基准图形中心在彩色图像中的像素点坐标。
S105,根据基准图形中心在彩色图像中的像素点坐标,利用深度传感器的彩色图像向深度图像的转化,以得到所述基准图形中心在深度图像中的像素点坐标和深度值。其中,深度值为基准图形中心在深度图像中的像素点坐标对应的深度值。
S106,计算深度传感器的深度摄像头焦距f在像面坐标系x方向上以像素为单位的值f/dx和y方向上以像素为单位的值f/dy。标准的摄像头焦距f的单位为mm,其为物理尺寸,dx表示在x方向上每一个像素所表示的物理尺寸,单位为mm/pixel,dy表示在y方向上每一个像素所表示的物理尺寸,单位为mm/pixel,因此f/dx、f/dy的单位为pixel,表示为以像素为单位的值。
图2为计算f/dx、f/dy的方法流程图,如图2所示,计算f/dx、f/dy的方法包括:
S201,获取包括线段的图像,该线段为线性物体的图像,该线段上每个点具有相同的深度值。具体地,通过在深度摄像头前面摆放线性物体,使其成像后,线段上每个点具有相同的深度值。其中,线性物体为实际物体,线段为线性物体在图像中的显示。可以理解地,在实际中,当线性物体的图像上每个点具有完全相同的深度值不可实现或者实现起来困难较大时,可以使线性物体的图像上每个点大致具有相同的深度值,因为摆放线性物体时可能会存在些许误差。
S202,根据像素坐标系和深度摄像头坐标系之间的关系得到第一公式其中,(u0,v0)为像面坐标系下的坐标原点在像素坐标系下的坐标,(u,v)为像素坐标系下的点,(Xc,Yc,Zc)为深度摄像头坐标系下的点。其中,深度摄像头坐标系是以深度传感器的深度摄像头为坐标原点,深度摄像头所对的方向为Z轴正方向建立的右手坐标系。
S203,根据第一公式和f/dx,f/dy相等,推导出第二公式
其中Δu1=(u1-u0),Δu2=(u2-u0),Δv1=(v1-v0),Δv2=(v2-v0),(Xc1,Yc1,Zc1)为线段的一个端点(u1,v1)在深度摄像头坐标系下的值,(Xc2,Yc2,Zc2)为线段的另一端点(u2,v2)在深度摄像头坐标系下的值,Zc1、Zc2由深度传感器获取的深度图像得出,sqrt((Δu1-Δu2)2+(Δv1-Δv2)2)为线段的长度(在像素坐标系下,单位为像素),sqrt((Xc2-Xc1)2+(Yc2-Yc1)2)为线性物体的长度(真实长度,单位优选为mm)。其中,线段的长度可根据线性物体的长度,任意两个基准图形中心的实际的距离,这两个基准图形中心的像素坐标的距离这几个参数计算出来。
S204,根据第二公式计算出f/dx,f/dy的值。需要注意的是,f/dx,f/dy计算出来的结果并不完全相等,误差在小数点后,可以忽略不计。
将线性物体分别摆放在深度传感器前方不同位置,多次获取包括线段的图像(具有相同深度值),多次计算f/dx,f/dy的值,求取f/dx,f/dy的平均值作为f/dx,f/dy的值,提高f/dx,f/dy的精度。
S107,根据计算出的f/dx、f/dy,基准图形中心在深度图像中的像素点坐标和深度值,像素坐标系和深度摄像头坐标系之间的关系,计算出所述基准图形中心在深度摄像头坐标系下的坐标p1',p'2,p'3,以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。
上述实施例通过获取屏幕上的基准图形中心的二维坐标,深度传感器获取到的基准图像所对应的彩色图像、深度图像,以及像素坐标系与深度摄像头坐标系之间的关系,计算出基准图形中心在深度摄像头坐标系下的三维坐标以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。上述实施例实现了基准图形中心在深度摄像头坐标系下的坐标与基准图形中心在屏幕上的坐标匹配。
图3为一种终端的示意性框图,该终端30包括显示模块31、二维坐标获取模块32、轮廓像素点获取模块33、像素点坐标计算模块34、深度值获取模块35、单位像素值计算模块36、三维坐标计算模块37。
显示模块31,用于显示基准图像于终端的屏幕上,该基准图像包括基准图形区域以及非基准图形区域,该基准图形区域包括至少三个基准图形,每个基准图形采用同一种颜色,基准图形区域的颜色区别于非基准图形区域的颜色。
根据预先建立的屏幕的二维坐标系,显示基准图像于屏幕上,该基准图像包括基准图形区域以及非基准图形区域。基准图形可以为圆形,也可以为椭圆形、三角形等,优选地,基准图形为圆形。基准图形区域包括至少三个基准图形当有三个基准图形时,该三个基准图形的中心点确定一个直角三角形,当有四个基准图形时,该四个基准图形的中心点确定一个矩形框,当有多于四个基准图形时,其中四个基准图形的中心点确定一个矩形框,另外的基准图形的中心点位于矩形框的四个边上。优选地,基准图形为三个。每个基准图形采用同一种颜色,多个基准图形可采用同样的颜色,也可采用不同的颜色,基准图形区域的颜色要区别于非基准图形区域的颜色。优选地,当基准图形为三个时,可采用红色、绿色、蓝色。当基准图形为四个时,可采用红色、绿色、蓝色、黑色。非基准图形区域可以有图像,也可以没有任何图像。
二维坐标获取模块32,用于获取基准图形的中心在屏幕上的二维坐标p1,p2,p3,其中,与垂直。基准图形为三个,基准图形的中心在屏幕上的二维坐标分别为p1,p2,p3,其中,与垂直。由于基准图形在屏幕上的位置是确定的,因此,基准图形的中心在屏幕上的坐标也是确定的。基准图形的中心在屏幕上的二维坐标可通过人工量取输入,由软件获取,也可用其他可行的方法获取。
轮廓像素点获取模块33,用于将深度传感器获取的基准图像的彩色图像像素点的RGB值与所述基准图形的RGB值进行比较,以获取所述基准图形的轮廓像素点。
其中,深度传感器加装在屏幕的上方或者侧面。当基准图形的颜色为红色、绿色、蓝色三基色时,就可以利用其中之一的分量与另外两个分量的差值。差值作为阈值,对深度传感器获取的彩色图像的像素点的RGB进行判断,以得到基准图形的轮廓区域。而黑色的基准图形,由于RGB值都为0,即使在深度传感器的彩色图像里面有色差,但是相对于周围环境的像素点的RGB之和依然比较小,可以利用RGB的三基色的和与阈值把黑色基准图形的轮廓区域求出来。其中,深度传感器能获取彩色图像和彩色图像对应的深度图像。深度传感器优选为Kinect传感器。
像素点坐标计算模块34,用于根据基准图形的轮廓像素点,计算出基准图形中心在彩色图像中的像素点坐标。
深度值获取模块35,用于根据基准图形中心在彩色图像中的像素点坐标,利用深度传感器的彩色图像向深度图像的转化,以得到所述基准图形中心在深度图像中的像素点坐标和深度值。其中,深度值为基准图像中心在深度图像中的像素点坐标对应的深度值。
单位像素值计算模块36,用于计算深度传感器的深度摄像头焦距f在像面坐标系x方向上以像素为单位的值f/dx和y方向上以像素为单位的值f/dy。标准的摄像头焦距f的单位为mm,其为物理尺寸,dx表示在x方向上每一个像素所表示的物理尺寸,单位为mm/pixel,dy表示在y方向上每一个像素所表示的物理尺寸,单位为mm/pixel,因此f/dx、f/dy的单位为pixel,表示为以像素为单位的值。
三维坐标计算模块37,用于根据计算出的f/dx、f/dy,基准图形中心在深度图像中的像素点坐标和深度值,像素坐标系和深度摄像头坐标系之间的关系,计算出所述基准图形中心在深度摄像头坐标系下的坐标p1',p'2,p'3,以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。
图4为单位像素值计算模块的示意性框图,如图4所示,单位像素值计算模块36包括线段获取单元41、第一公式单元42、第二公式单元43、第一计算单元44。
线段获取单元41,用于获取包括线段的图像,该线段为线性物体的图像,该线段上每个点具有相同的深度值。具体地,通过在深度摄像头前面摆放线性物体,使其成像后,线段上每个点具有相同的深度值。其中,线性物体为实际物体,线段为线性物体在图像中的显示。可以理解地,在实际中,当线性物体的图像上每个点具有完全相同的深度值不可实现或者实现起来困难较大时,可以使线性物体的图像上每个点大致具有相同的深度值,因为摆放线性物体时可能会存在些许误差。
第一公式单元42,用于根据像素坐标系和深度摄像头坐标系之间的关系得到第一公式其中,(u0,v0)为像面坐标系下的坐标原点在像素坐标系下的坐标,(u,v)为像素坐标系下的点,(Xc,Yc,Zc)为深度摄像头坐标系下的点。其中,深度摄像头坐标系是以深度传感器的深度摄像头为坐标原点,深度摄像头所对的方向为Z轴正方向建立的右手坐标系。
第二公式单元43,用于根据第一公式和f/dx,f/dy相等,推导出第二公式其中Δu1=(u1-u0),Δu2=(u2-u0),Δv1=(v1-v0),Δv2=(v2-v0),(Xc1,Yc1,Zc1)为线段的一个端点(u1,v1)在深度摄像头坐标系下的值,(Xc2,Yc2,Zc2)为线段的另一端点(u2,v2)在深度摄像头坐标系下的值,Zc1、Zc2由深度传感器获取的深度图像得出,sqrt((Δu1-Δu2)2+(Δv1-Δv2)2)为线段的长度(在像素空间下,单位为像素),sqrt((Xc2-Xc1)2+(Yc2-Yc1)2)为线性物体的长度(真实长度,单位优选为mm)。其中,线段的长度可根据线性物体的长度,任意两个基准图形中心的实际的距离,这两个基准图形中心的像素坐标的距离这几个参数计算出来。
第一计算单元44,用于根据第二公式计算出f/dx,f/dy的值。需要注意的是,f/dx,f/dy计算出来的结果并不完全相等,误差在小数点后,可以忽略不计。
将线性物体分别摆放在深度传感器前方不同位置,多次获取包括线段的图像(具有相同深度值),多次计算f/dx,f/dy的值,求取f/dx,f/dy的平均值作为f/dx,f/dy的值,提高f/dx,f/dy的精度。
图5为一种终端的另一种示意性框图。该终端50包括输入装置51、输出装置52、存储器53以及处理器54,输入装置51、输出装置52、存储器53以及处理器54通过总线55连接,其中:
输入装置51,用于提供用户输入信息。具体实现中,本发明实施例的输入装置51可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置等。
输出装置52,用于输出基准图形中心在深度摄像头坐标系下的坐标等。具体实现中,本发明实施例的输出装置52可包括显示器、显示屏、触摸屏等。
存储器53,用于存储带有各种功能的程序数据。本发明实施例中存储器53存储的数据包括基准图形的信息、像素坐标系与深度摄像头坐标系之间的对应关系等,以及其他可调用并运行的程序数据。具体实现中,本发明实施例的存储器53可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器53还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
处理器54,用于调用存储器53中存储的程序数据,并执行如下操作:
显示基准图像于终端的屏幕上,所述基准图像包括基准图形区域以及非基准图形区域,所述基准图形区域包括至少三个基准图形,每个基准图形采用同一种颜色,基准图形区域的颜色区别于非基准图形区域的颜色;
获取基准图形的中心在屏幕上的二维坐标p1,p2,p3,其中,与垂直;
将深度传感器获取的基准图像的彩色图像像素点的RGB值与所述基准图形的RGB值进行比较,以获取所述基准图形的轮廓像素点;
根据所述基准图形的轮廓像素点,计算出所述基准图形中心在彩色图像中的像素点坐标;
根据所述基准图形中心在彩色图像中的像素点坐标,利用深度传感器的彩色图像向深度图像的转化,以得到所述基准图形中心在深度图像中的像素点坐标和深度值;
计算深度传感器的深度摄像头焦距f在像面坐标系x方向上以像素为单位的值f/dx和y方向上以像素为单位的值f/dy;
根据计算出的f/dx、f/dy,所述基准图形中心在深度图像中的像素点坐标和深度值,像素坐标系和深度摄像头坐标系之间的关系,计算出所述基准图形中心在深度摄像头坐标系下的坐标p1',p'2,p'3,以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。
在其他可行的实施方式中,处理器54还可执行如下步骤:
获取包括线段的图像,所述线段为线性物体的图像,所述线段上每个点具有相同的深度值;
根据像素坐标系和深度摄像头坐标系之间的关系得到第一公式其中,(u0,v0)为像面坐标系下的坐标原点在像素坐标系下的坐标,(u,v)为像素坐标系下的点,(Xc,Yc,Zc)为深度摄像头坐标系下的点;
根据第一公式和f/dx,f/dy相等,推导出第二公式
其中Δu1=(u1-u0),Δu2=(u2-u0),Δv1=(v1-v0),Δv2=(v2-v0),(Xc1,Yc1,Zc1)为所述线段一个端点(u1,v1)在深度摄像头坐标系下的值,(Xc2,Yc2,Zc2)为所述线段另一端点(u2,v2)在深度摄像头坐标系下的值,Zc1、Zc2由深度传感器获取的深度图像得出,sqrt((Δu1-Δu2)2+(Δv1-Δv2)2)为所述线段的长度,为所述线性物体的长度;
根据第二公式计算出f/dx,f/dy的值。
上述实施例通过获取屏幕上的基准图形中心的二维sqrt((Xc2-Xc1)2+(Yc2-Yc1)2)坐标,深度传感器获取到的基准图像所对应的彩色图像、深度图像,以及像素坐标系与深度摄像头坐标系之间的关系,计算出基准图形中心在深度摄像头坐标系下的三维坐标以及确定基准图形中心在深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系。上述实施例实现了基准图形中心在深度摄像头坐标系下的坐标与基准图形中心在屏幕上的坐标匹配。
图6为一种操控方法示意流程图,如图6所示,该方法包括S601~S604。
S601,设置检测操控物体的识别区域。设定离屏幕的最近距离和最远距离,最近距离和最远距离之间的区域即为操控物体的识别区域。最近距离和最远距离可由人工进行设定,由软件来获取。操控物体可以为人的手,也可以为教鞭等。
S602,对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点。操控物体的触控点为操控屏幕的点,如手势的尖端点、教鞭的尖端点等。
S603,将操控物体的触控点投影到屏幕上得到操控物体的触控点在深度摄像头坐标系下的坐标p。
S604,根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕上的二维坐标p'以获得操控物体的运动轨迹。其中,深度摄像头坐标系下的三维坐标和屏幕上的二维坐标之间的对应关系可根据图1或者图2所述实施例的方法计算出来。
上述实施例通过对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,再根据深度摄像头坐标系下的三维坐标和屏幕上的二维坐标之间的对应关系,计算出操控物体的触控点在屏幕上的二维坐标,以获取操控物体的运动轨迹,提高了操控精度,同时使用深度传感器安装操作简单、成本低廉。
图7为本发明实施例提供的一种方法流程图。该实施例进一步描述了对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点的方法流程。如图7所示,在本实施例中,S602包括:
S701,对深度传感器在操控物体的识别区域内获取到的深度图像进行修正。修正的内容包括将操控物体在识别区域外的深度值设为0。
S702,根据修正后的深度图像转化成的灰度图像,利用边缘检测的梯度算子,检测出操控物体的轮廓点。在其他的实施例中,也可用其他的方法检测出操控物体的轮廓点,如图像分割等。
S703,计算出操控物体的轮廓中心。根据操控物体的轮廓点计算出操控物体的轮廓中心。
S704,在操控物体轮廓点集中查找离轮廓中心距离最远的N个点。
S705,求取所述N个点到屏幕的距离最近的点,将所述最近的点作为操控物体的触控点。
图8为本发明实施例提供的另一种方法流程图。该实施例进一步描述了根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕上的二维坐标p'以获得操控物体的运动轨迹的体方法流程。如图8所示,在本实施例中,S604包括:
S801,将用线性表示为其中p1',p'2,p'3是深度摄像头坐标系下点的坐标,在一个平面上且与垂直。
因为在一个平面上,且与线性无关,因此可由唯一线性表示出来即用方程组表示:
其中,实际上,由于深度传感器测量数据存在误差,导致该方程组无解。
S802,根据最小二乘法,计算k1,k2。令最小二乘法的目标函数为f=(k1*x1+k2*x2-x0)2+(k1*y1+k2*y2-y0)2+(k1*z1+k2*z2-z0)2,利用最小二乘法计算k1,k2。
S803,根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系得出并计算出p在屏幕上的二维坐标p'以获得操控物体的运动轨迹,其中,p1,p2,p3是屏幕上的二维坐标系下点的坐标,分别与p1',p'2,p'3对应,且与垂直。
根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,k1,k2也满足从而计算出由于p1坐标已知,从而计算出p在屏幕上的二维坐标p',根据计算出的p'获得操控物体的运动轨迹。
图9为另一种终端的示意性框图,如图9所示,该终端90包括设置模块91、触控点计算模块92、三维坐标获取模块93、二维坐标计算模块94。
设置模块91,用于设置检测操控物体的识别区域。设定离终端屏幕的最近距离和最远距离,最近距离和最远距离之间的区域即为操控物体的识别区域。最近距离和最远距离可由人工进行设定,由软件来获取。操控物体可以为人的手,也可以为教鞭等。
触控点计算模块92,用于对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点。操控物体的触控点为操控屏幕的点,如手势的尖端点、教鞭的尖端点等。
三维坐标获取模块93,用于将操控物体的触控点投影到终端的屏幕上得到操控物体的触控点在深度摄像头坐标系下的坐标p。
二维坐标计算模块94,用于根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕上的二维坐标p'以获得操控物体的运动轨迹。深度摄像头坐标系下的三维坐标和屏幕上的二维坐标之间的对应关系可通过图3或者图4的终端计算出来。
上述实施例通过对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,再根据深度摄像头坐标系下的三维坐标和屏幕上的二维坐标之间的对应关系,计算出操控物体的触控点在屏幕上的二维坐标,以获取操控物体的运动轨迹,实现屏幕的触控操作,提高了操控精度,同时使用深度传感器安装操作简单、成本低廉。
图10为触控点计算模块的示意性框图。触控点计算模块92包括修正单元101、检测单元102、第二计算单元103、查找单元104、求取单元105。
修正单元101,用于对深度传感器在操控物体的识别区域内获取到的深度图像进行修正。修正的内容包括将操控物体在识别区域外的深度值设为0。
检测单元102,用于根据修正后的深度图像转化成的灰度图像,利用边缘检测的梯度算子,检测出操控物体的轮廓点。在其他的实施例中,也可用其他的方法检测出操控物体的轮廓点,如图像分割等。
第二计算单元103,用于计算出操控物体的轮廓中心。根据操控物体的轮廓点计算出操控物体的轮廓中心。
查找单元104,用于在操控物体轮廓点集中查找离轮廓中心距离最远的N个点。
求取单元105,用于求取所述N个点到屏幕的距离最近的点,将所述最近的点作为操控物体的触控点。
图11为二维坐标计算模块的示意性框图。二维坐标计算模块94包括线性单元111、第三计算单元112、二维坐标计算单元113:
线性单元111,用于将用线性表示为其中p1',p'2,p'3是深度摄像头坐标系下点的坐标,在一个平面上且与垂直。
因为在一个平面上,且与线性无关,因此可由唯一线性表示出来即用方程组表示:
其中,实际上,由于深度传感器测量数据存在误差,导致该方程组无解。
第三计算单元112,用于根据最小二乘法,计算k1,k2。令最小二乘法的目标函数为f=(k1*x1+k2*x2-x0)2+(k1*y1+k2*y2-y0)2+(k1*z1+k2*z2-z0)2,利用最小二乘法计算k1,k2。
二维坐标计算单元113,用于根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系得出并计算出p在屏幕上的二维坐标p'以获得操控物体的运动轨迹,其中,p1,p2,p3是屏幕上的二维坐标系下点的坐标,分别与p1',p'2,p'3对应,且与垂直。
根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,k1,k2也满足从而计算出由于p1坐标已知,从而计算出p在屏幕上的二维坐标p',根据计算出的p'获得操控物体的运动轨迹。其中,屏幕为终端的屏幕。
图12为另一种终端的另一种示意性框图。该终端120包括输入装置121、输出装置122、存储器123以及处理器124,输入装置121、输出装置122、存储器123以及处理器124通过总线125连接,其中:
输入装置121,用于提供用户输入信息。具体实现中,本发明实施例的输入装置121可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置等。
输出装置122,用于输出触控点在深度摄像头坐标系下的坐标p在屏幕上的二维坐标p'等。具体实现中,本发明实施例的输出装置122可包括显示器、显示屏、触摸屏等。
存储器123,用于存储带有各种功能的程序数据。本发明实施例中存储器123存储的数据包括深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系等,以及其他可调用并运行的程序数据。具体实现中,本发明实施例的存储器123可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器123还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。
处理器124,用于调用存储器123中存储的程序数据,并执行如下操作:
设置检测操控物体的识别区域;对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,计算得到操控物体的触控点;将所述操控物体的触控点投影到屏幕上得到所述操控物体的触控点在深度摄像头坐标系下的坐标p;根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系,计算触控点在深度摄像头坐标系下的坐标p在屏幕的二维坐标p'以获得操控物体的运动轨迹。
在其他可行的实施方式中,处理器124还可执行如下步骤:
对深度传感器在操控物体的识别区域内获取到的深度图像进行修正;根据修正后的深度图像转化成的灰度图像,利用边缘检测的梯度算子,检测出操控物体的轮廓点;计算出操控物体的轮廓中心;在操控物体轮廓点集中查找离轮廓中心距离最远的N个点;求取所述N个点到屏幕的距离最近的点,将所述最近的点作为操控物体的触控点。
在其他可行的实施方式中,处理器124还可执行如下步骤:
将用线性表示为其中p1',p'2,p'3是深度摄像头坐标系下点的坐标,在同一个平面上且与垂直;
根据最小二乘法,计算k1,k2;
根据深度摄像头坐标系下的三维坐标和屏幕的二维坐标之间的对应关系得出并计算出p在屏幕上的二维坐标p'以获得操控物体的运动轨迹,其中,p1,p2,p3是屏幕上的二维坐标系下点的坐标,分别与p1',p'2,p'3是对应,且与垂直。
上述实施例通过对深度传感器在操控物体的识别区域内获取到的深度图像进行处理,再根据深度摄像头坐标系下的三维坐标和屏幕上的二维坐标之间的对应关系,计算出操控物体的触控点在屏幕上的二维坐标,以获取操控物体的运动轨迹,实现屏幕的触控操作,提高了操控精度,同时使用深度传感器安装操作简单、成本低廉。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块和/或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的模块和/或单元可以是或者也可以不是物理上分开的,作为模块和/或单元显示的部件可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能模块和/或单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上模块和/或单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
机译: 坐标测量设备的触笔配置调整方法,涉及使用多个旋转和平移电驱动器,例如微伺服致动器,用于调整配置位置以与测量设备的坐标轴匹配
机译: 移动坐标服务方法,移动坐标服务系统及其所使用的匹配程序
机译: 用于为同一喷雾系统匹配坐标系样本的系统和方法以及使用该系统和方法的方法