本发明为摄像透视,具体涉及一种摄像透视vst中环境图像数据的处理方法、头显设备和存储介质。
背景技术:
1、xr眼镜有分ar增强现实和vr虚拟现实两类眼镜。ar眼镜是以optical seethrough或光学镜片的方式来实现透视,看到周围环境(以下简称光学透视ost)。vr眼镜是纯虚拟的眼镜看不到外面的环境,最近几年开始有mr混合现实眼镜,也就是vr通过摄像头观看周围环境,这是以video see through或称visual pass through或摄像透视的方式来实现观看周围环境(以下简称摄像透视vst)。由于光学透视ost没有采集到环境的图像或视频流,因此无法对环境的视频或图像做处理。相反的,由于摄像透视vst是用摄像头采集周围环境的图像或视频流,所以周围环境可以做计算和后处理,元宇宙除了渲染叠加自定义的虚拟物体和背景作为显示内容以外,更需要可以对周边环境做后处理。
2、在传统平板电脑和手机上,可以用双指随意放大和缩小所看到的图像或视频流。尤其是在拍摄视频的过程中,已有拉近推远的功能(zoom in / zoom out)或者改变聚焦距离f的功能。随着科技的进步,mr(混合现实)眼镜将逐步变成我们人类眼睛的延伸,需要通过眼镜放大观看远处或太小的物体。在二维屏幕上拉近推远功能很好实现因为不用考虑视差的问题,也就是说拉近推远等同于放大缩小。但在双目的mr眼镜里面,拉近推远与放大缩小是不一样的事件,放大缩小是一件简单的事情,但是拉近推远需要调整左右眼的视差,传统mr眼镜里,目前没有对摄像透视vst中环境图像数据做拉近推远后处理的方法。
技术实现思路
1、本发明的目的在于提供一种摄像透视vst中环境图像数据的处理方法、头显设备和存储介质,应用于xr扩展现实头戴式显示设备的系统,基于用户的交互指令,通过对摄像透视vst中环境图像数据进行后处理,使得用户通过vst方式可以沉浸式地看到周围环境被拉近或推远,能放大观看远处或太小的物体,并实现物体被拉近或推远的视觉效果。
2、本发明公开的摄像透视vst中环境图像数据的处理方法,应用于xr扩展现实头戴式显示设备的系统,双目摄像头采集真实环境图像,通过头戴式显示设备的屏幕展示以供用户观看,基于用户的交互指令,系统对真实环境图像进行后处理,令真实环境图像中的物体具有拉近或推远的视觉效果,所述交互指令包括预置的拉近指令和推远指令,系统根据交互指令预测拉近或推远的距离,所述后处理包括如下步骤:
3、步骤1:响应于用户通过vst方式观看真实环境图像时给出的拉近指令,开始寻找相对眼镜距离最近的像素作为目标像素t:
4、假设眼镜的左右屏幕是根据左右摄像头的视场角fov来对齐屏幕像素,即摄像头图像总像素量与屏幕总像素量相同或矫正后相同,已知屏幕x轴上的总像素xtotal、左右摄像头的视场角fov、左右摄像头的瞳距dipd和每度像素量;统一用点l和点r表示左右屏幕的中心点、左右摄像头的中心点,将点l和点r连线或与其平行的线设为x轴,在左右屏幕建立分别以点l和点r为原点的xy坐标系,左屏幕显示目标像素t的视差位置与点l的距离值为xl,右屏幕显示目标像素t的视差位置与点r的距离值为xr,所述距离值xl和xr以左右屏幕的像素值来表示;左右屏幕中物体由远到近的过程中,视差位置分别从点l和点r沿着x轴向着眼镜中间进行对称性调整,将点l的法线称为左中线,点r的法线称为右中线,视差角和分别代表左/右中线分别偏向眼镜中心时到达视差位置的度数;在真实世界里,用d代表目标像素t在x轴上与点l或点r的真实距离值,目标像素t与眼镜的法线切割x轴为左距离dl和右距离dr,其中,dl+dr=dipd,该dipd为左右摄像头的瞳距,即点l和点r的间距,是已知的固定值,在目标像素t拉近推远的过程中,dl和dr固定不变;
5、逐行扫描摄像头采集的左右视图,将每一行的所有像素进行对比,找到左右视图中深度信息或灰阶颜色相同且排列方式一致的像素,获取这些像素在左屏幕上的视差位置xl和右屏幕上的视差位置xr,计算得到以及(5),以及所述像素的距离z:
6、(3);
7、选取其中距离z最小的像素作为目标像素t,将目标像素t的当前位置称为原始位置,设显示在原始位置的目标像素为told,保存目标像素told的原始位置数据,该原始位置数据包括目标像素told在左屏幕上显示的视差位置xold-left和视差角,目标像素told在右屏幕上显示的视差位置xold-right和视差角,以及目标像素told在原始位置与眼镜的垂直距离zold;
8、步骤2:响应于用户的拉近指令,系统根据用户拉近指令得到目标像素told从原始位置拉近到新位置为目标像素tnew与眼镜的垂直距离znew,并计算目标像素tnew在新位置的视差位置xnew-left和xnew-right;
9、步骤3:在计算得到视差位置xnew-left和xnew-right后,先把左右屏幕的整个画面放大(xnew/xold)倍,然后将左屏幕放大画面的每个像素跟随目标像素told从原始位置xold-left平移到新位置xnew-left,以及将右屏幕放大画面的每个像素跟随目标像素told从原始位置xold-right平移到新位置xnew-right。
10、还包括步骤4:响应于用户的推远指令,系统根据用户的推远指令得到目标像素从步骤3的新位置xnew1到达推远后的位置xnew2与眼镜的垂直距离,按照步骤2的方法计算目标像素到达推远后的位置的视差位置xnew2,在推远过程中,先把左右屏幕在步骤3中已放大的画面缩小(xnew2/xnew1)倍后,然后分别将左右屏幕中已缩小画面的每个像素跟随目标像素t从位置xnew1平移到新位置xnew2。
11、所述步骤2具体为:
12、在左屏幕中,已知目标像素told在原始位置与眼镜的垂直距离zold、目标像素told在左屏幕上显示的视差位置xold-left和目标像素told在右屏幕上显示的视差位置xold-left,利用简化公式:xnew=xold(zold/znew) (4),计算得到:
13、xnew-left= xold-left(zold/znew),xnew-right= xold-right(zold/znew)。
14、所述步骤2具体为:
15、假设目标像素t位于左右中线之间的空间区域,则左屏幕会把目标像素t显示在左中线的右边,右屏幕会把目标像素t显示在右中线的左边,响应于用户的拉近指令,根据原始位置的目标像素told在左屏幕上显示的视差位置xold-left和视差角,目标像素told在右屏幕上显示的视差位置xold-right和视差角,以及目标像素told在原始位置与眼镜的垂直距离zold的显示关系,以及拉近后在新位置的目标像素tnew在右屏幕上显示的视差位置xnew-right和视差角,在左屏幕上显示的视差位置xnew-left和视差角,以及目标像素tnew在新位置与眼镜的垂直距离znew的显示关系,得到如下公式:
16、
17、(6);
18、由于在目标像素t的拉近过程中,dl和dr保持不变,则
19、
20、(7);
21、得到:和;
22、若目标像素told或tnew落在左中线的左侧或者右中线的右侧,分别以左右点l和r为原点,x对应取正数或负数。
23、所述步骤1中寻找到的目标像素told在原始位置与眼镜的垂直距离zold超过预置值,则系统将zold、目标像素told在左屏幕上显示的视差位置xold-left和视差角、目标像素told在右屏幕上显示的视差位置xold-right和视差角取给定值。
24、所述交互指令是通过辅助工具发出,所述辅助工具包括控制手柄、控制手环或控制戒指,或者通过用户的手势给出。
25、一种头显设备,所述头显设备包括用于摄取目标区域的目标图像的双目摄像头;所述头显设备还包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现上述任一种摄像透视vst中环境图像数据的处理方法。
26、一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现上述任一种摄像透视vst中环境图像数据的处理方法。
27、采用本发明的技术方案后,系统接收到用户发出的拉近指令时,先寻找相对眼镜距离最近的像素作为目标像素,得到目标像素在原始位置的视差位置xold;系统根据拉近指令得到目标像素在拉近后的新位置与眼镜的垂直距离,计算目标像素在新位置的视差位置xnew;先把左右屏幕的整个画面放大(xnew/xold)倍,然后将左右屏幕放大画面的每个像素跟随目标像素从视差位置xold平移到视差位置xnew。本发明在启动拉近功能时,目标像素向着眼镜移动,屏幕画面放大并逐渐缩小目标像素与眼镜的垂直距离,启动推远功能时,目标像素远离眼镜,屏幕画面缩小并逐渐加大目标像素与眼镜的垂直距离。本发明是在摄像头机械调焦之后,通过软件对摄像透视vst中环境图像数据进行后处理,使得用户通过vst方式可以沉浸式地看到周围环境被拉近或推远,能放大观看远处或太小的物体,并实现物体被拉近或推远的视觉效果。
1.摄像透视vst中环境图像数据的处理方法,应用于xr扩展现实头戴式显示设备的系统,双目摄像头采集真实环境图像,通过头戴式显示设备的屏幕展示以供用户观看,其特征在于:基于用户的交互指令,系统对真实环境图像进行后处理,令真实环境图像中的物体具有拉近或推远的视觉效果,所述交互指令包括预置的拉近指令和推远指令,系统根据交互指令预测拉近或推远的距离,所述后处理包括如下步骤:
2.根据权利要求1所述的摄像透视vst中环境图像数据的处理方法,其特征在于,还包括步骤4:响应于用户的推远指令,系统根据用户的推远指令得到目标像素从步骤3的新位置xnew1到达推远后的位置xnew2与眼镜的垂直距离,按照步骤2的方法计算目标像素到达推远后的位置的视差位置xnew2,在推远过程中,先把左右屏幕在步骤3中已放大的画面缩小(xnew2/xnew1)倍后,然后分别将左右屏幕中已缩小画面的每个像素跟随目标像素t从位置xnew1平移到新位置xnew2。
3.根据权利要求1所述的摄像透视vst中环境图像数据的处理方法,其特征在于,所述步骤2具体为:
4.根据权利要求1所述的摄像透视vst中环境图像数据的处理方法,其特征在于,所述步骤2具体为:
5. 根据权利要求1所述的摄像透视vst中环境图像数据的处理方法,其特征在于,所述步骤1中寻找到的目标像素told在原始位置与眼镜的垂直距离zold超过预置值,则系统将zold、目标像素told在左屏幕上显示的视差位置xold-left 和视差角、目标像素told在右屏幕上显示的视差位置xold-right和视差角取给定值。
6.根据权利要求1所述的摄像透视vst中环境图像数据的处理方法,其特征在于,所述交互指令是通过辅助工具发出,所述辅助工具包括控制手柄、控制手环或控制戒指,或者通过用户的手势给出。
7.一种头显设备,其特征在于,所述头显设备包括用于摄取目标区域的目标图像的双目摄像头;所述头显设备还包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现所述权利要求1至6中任一种摄像透视vst中环境图像数据的处理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时实现所述权利要求1至6中任一种摄像透视vst中环境图像数据的处理方法。