用于模拟盲人感受的物体显示方法、装置及存储介质与流程

文档序号:18141217发布日期:2019-07-10 11:06阅读:329来源:国知局
用于模拟盲人感受的物体显示方法、装置及存储介质与流程

本申请涉及人机交互领域,特别涉及一种用于模拟盲人感受的物体显示方法、装置及存储介质。



背景技术:

盲人是存在视觉障碍的人。对于先天性盲人来讲,没有任何对颜色的体验,因此不存在任何颜色的概念。

对于普通人来讲,很难体会到盲人的日常感受。即便将普通人蒙上双眼后,由于普通人对日常物体存在视觉体验,普通人在蒙眼状态下对触碰到的物体能够脑补出相应的形状和色彩。因此,蒙眼状态下的普通人也无法真正感受到盲人的日常感受。

目前尚不存在能够让普通人体会到先天性盲人的感受的技术方案。



技术实现要素:

本申请实施例提供了一种用于模拟盲人感受的物体显示方法、装置及存储介质,能够让普通人体会到先天性盲人的感受。所述技术方案如下:

根据本申请的一个方面,提供了一种用于模拟盲人感受的物体显示方法,所述方法包括:

显示应用程序的用户界面,所述用户界面是用于显示三维虚拟环境的界面,所述用户界面上叠加有遮罩层;

接收在所述用户界面的目标区域上触发的交互操作;

根据所述交互操作在所述目标区域中显示位于所述三维虚拟环境中的物体的轮廓。

根据本申请的另一方面,提供了一种用于模拟盲人感受的物体显示装置,所述装置包括:

显示模块,用于显示应用程序的用户界面,所述用户界面是用于显示三维虚拟环境的界面,所述用户界面上叠加有遮罩层;

交互模块,用于接收在所述用户界面的目标区域上触发的交互操作;

所述显示模块,用于根据所述交互操作在所述目标区域中显示位于所述三维虚拟环境中的物体的轮廓。

根据本申请的另一方面,提供了一种终端,所述终端包括:

处理器和存储器,所述存储器存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用于模拟盲人感受的物体显示方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用于模拟盲人感受的物体显示方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过在用户界面上叠加遮罩层,根据用户对目标区域的交互操作,取消遮罩层在目标区域上的遮挡部分,并在目标区域中显示位于三维虚拟环境中的物体的轮廓;从而能够较为真实地模拟出盲人在黑暗的世界中触摸到物体,在脑海中呈现出该物体的三维轮廓的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示意性实施例提供的用于模拟盲人感受的物体显示方法的界面1图;

图2是本申请一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图;

图3是本申请一个示意性实施例提供的用于模拟盲人感受的物体显示方法的原理示意图;

图4是本申请另一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图;

图5是本申请另一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图;

图6是本申请另一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图;

图7是本申请一个示意性实施例提供的动态遮罩的原理示意图;

图8是本申请一个示意性实施例提供的动态遮罩的原理示意图;

图9是本申请一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图;

图10是相关技术中提供的对三维物体进行边缘检测后的界面示意图;

图11是本申请一个示意性实施例提供的对三维物体进行动态遮罩后显示线框轮廓的界面示意图;

图12是本申请一个示意性实施例提供的三维物体的轮廓在延时消失过程中的界面示意图;

图13是本申请一个示意性实施例提供的用于模拟盲人感受的物体显示装置的框图;

图14是本申请另一个示意性实施例提供的用于模拟盲人感受的物体显示装置的框图;

图15是本申请一个示意性实施例提供的终端的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本实施例提供了一种应用程序,该应用程序能够让正常人体验盲人的感受。该应用程序中提供有一个三维虚拟环境。如图1所示,在初始状态下显示该三维虚拟环境的环境画面12时,会在环境画面12上叠加有黑色的遮罩层,用户无法直接感受到三维虚拟环境中的物体,从而模拟出先天性盲人无法感受到颜色的效果。当用户在环境画面12上进行触摸时,遮罩层上相应的区域会取消遮罩效果(图1中左下角的圆形目标区域),从而显示出三维虚拟环境中的帽子14的轮廓。示意性的,该轮廓是对帽子14的边缘进行描边得到的轮廓。

由于人脑的记忆会随时间减弱,因此该遮罩层上的圆形目标区域还可随时间流逝而逐渐缩小,直至闭合为初始状态,从而模拟出盲人在触摸某个物体后在脑海中逐渐忘记该物体的感受。

图2示出了本申请一个示例性实施例提供的用于模拟盲人感受的显示方法的流程图。该方法可以由终端来执行,该终端是智能手机、平板电脑、增强显示(augmentedreality,ar)设备、虚拟显示(virtualreality,vr)设备或头戴式显示器等。该终端中运行有应用程序。该方法包括:

步骤201,显示应用程序的用户界面,该用户界面用于显示三维虚拟环境的界面,用户界面上叠加有遮罩层;

用户在终端上启动应用程序,显示该应用程序的用户界面。该应用程序提供有三维虚拟环境,该用户界面是用于显示该三维虚拟环境的界面。在示意性的例子中,该应用程序是基于unity引擎开发的应用程序。

可选地,该用户界面用于显示采用第一人称视角对三维虚拟环境进行观察时的环境画面。在初始状态或默认状态下,该用户界面上还叠加有遮罩层。

遮罩层用于遮挡三维虚拟环境的环境画面。可选地,该遮罩层是纯色的遮罩层,比如黑色的遮罩层,以模拟盲人感受中的黑色世界。可选地,该遮罩层是迷雾形式的遮罩层。

步骤202,接收在用户界面的目标区域上触发的交互操作;

交互操作是用于对用户界面中的目标区域进行感知的操作。目标区域是交互操作所作用的区域。

当终端是具有触摸屏的终端时,接收用户在触摸屏上施加的交互操作或滑动操作;当终端是具有摄像头的终端时,比如,ar设备、vr设备或头戴式显示器时,接收用户在用户界面的目标区域上触发的手势操作。本实施例对交互操作的具体形式不加以限定。

目标区域可能是用户界面上的任意一块区域。目标区域可以是圆形、矩形、椭圆形、正方形、不规则形状中的至少一种。本实施例以目标区域是圆形区域来举例说明。目标区域可以具有默认的大小(比如固定的半径),也可以具有可改变的大小,比如根据触摸操作的范围来动态确定,或,根据触摸力度来动态确定。

步骤203,根据交互操作在目标区域中显示位于三维虚拟环境中的物体的轮廓;

其中,轮廓是对物体的边缘进行描绘后得到的图像信息。可选地,轮廓是对三维虚拟环境中的三维物体进行描边后得到的轮廓。可选地,轮廓上的边缘像素点是基于三维物体上各个像素点的深度信息和法线信息中的至少一种来确定的。该轮廓是线框边缘或描边边缘。

应用程序根据交互操作消除遮罩层在目标区域上的遮挡部分,保留遮罩层在除目标区域之外的其它区域上的遮挡部分。由于目标区域上的遮挡部分被取消,因此在目标区域中显示位于三维虚拟环境中的物体的轮廓。

综上所述,本实施例提供的方法,通过在用户界面上叠加遮罩层,根据用户对目标区域的交互操作,来取消遮罩层在目标区域上的遮挡部分,并在目标区域中显示位于三维虚拟环境中的物体的轮廓;从而能够较为真实地模拟出盲人在黑暗的世界中触摸到物体,在脑海中呈现出该物体的三维轮廓的效果。

在基于图2的可选实施例中,针对上述步骤203,可选包括如下步骤:

一、确定三维虚拟环境中的至少一个候选物体;

三维虚拟环境中存在多个物体,这些物体可以作为候选物体。

二、根据目标区域在三维虚拟环境中确定处于可触摸范围内的目标物体,目标物体是候选物体中的一个或多个或者局部;

目标区域是交互操作所对应的区域。以交互操作为例,目标区域是被触摸的区域。由于环境画面是以第一视角来对三维虚拟环境进行观察得到的画面,与该第一视角对应的摄像机平面是三维虚拟环境中的一个平面,因此目标区域位于三维虚拟环境中的摄像机平面上。

应用程序能够基于目标区域在三维虚拟环境中确定出可触摸范围。可选地,该可触摸范围是一个三维形式的空间范围,比如球形空间范围。

应用程序将处于可触摸范围内的候选物体,确定为目标物体。

三、消除遮罩层在目标区域上的遮挡部分,在目标区域中显示目标物体的轮廓。

应用程序消除遮罩层在目标区域上的遮挡部分,对目标物体的轮廓进行着色,在目标区域中显示着色后的目标物体的轮廓。

参考图3,在三维虚拟环境中的同一位置上设置有主摄像机(图中未示出)和描边(contour,c)相机30。主摄像机用于采集三维虚拟环境中的环境画面,默认状态下被动态遮罩层31所遮挡,动态遮罩层31在初始状态下是全黑色的,在接收到用户的交互操作后打开一个椭圆形的缺口范围。描边相机30用于实时计算出描边层32,描边层32是处于可触摸范围内的物体的描边轮廓所形成的层。对于三维虚拟环境中的物体33,描边层32会对位于可触摸范围内的物体33进行描边而显示出该物体33的轮廓,对位于可触摸范围外的其它物体不予处理。

在示意性的例子中,即便物体33的一部分处于可触摸范围,一部分处于可触摸范围之外,描边层32依然会对物体33的所有轮廓进行描边。由于动态遮罩层31打开了一个椭圆形的缺口范围,除缺口范围之外的其他区域仍然处于遮罩状态,因此只会显示出物体33在缺口范围内的轮廓,其他轮廓仍然会被遮挡而不显示。

上述动态遮罩层31、描边层32和物体33均属于渲染层34的内容。

综上所述,本实施例中通过根据目标区域确定出三维形式的可目标区域,能够基于可目标区域来准确判定出被触碰的目标物体。由于可目标区域是三维形式的范围,因此能够较为真实地模拟盲人对真实世界的触碰过程。

在基于图2的可选实施例中,针对上述步骤203,可选包括如下步骤,如图4所示:

步骤401,确定三维虚拟环境中的至少一个候选物体;

步骤402,在三维虚拟环境中确定位于目标区域前方的碰撞检测点;

结合参考图3,三维虚拟环境的环境画面是主摄像机以第一视角来对三维虚拟环境进行观察得到的画面,摄像机平面是三维虚拟环境中的一个平面。对于用户的交互操作所形成的目标区域,该目标区域是位于三维虚拟环境中的摄像机平面上的一个区域。

示意性的,应用程序以目标区域上的点(中心点、均匀采样点或随机采样点)向前方作垂直于摄像机平面的射线,将该射线第一次与物体碰撞到的点确定为碰撞检测点a。

应用程序判断碰撞检测点a与摄像机平面之间的距离是否小于设定深度,当小于设定深度时,认为该碰撞检测点a是可触摸到的有效碰撞检测点a,进入步骤403;当不小于设定深度时,认为该碰撞检测点a是不可触摸到的无效碰撞检测点a,停止对该碰撞检测点a的后续处理。

步骤403,在碰撞检测点与目标区域之间的距离小于设定深度时,以碰撞检测点为中心确定可触摸范围对应的球形检测范围,以及确定候选物体对应的碰撞盒范围;

当该碰撞检测点与摄像机平面之间的距离小于设定深度(也即大于设定深度视为不可触摸)时,以该碰撞检测点为中心,预设长度r为半径产生球形检测范围,将该球形检测范围作为可触摸范围。

同时,三维虚拟环境中的各个候选物体还具有各自对应的碰撞盒范围,应用程序事先对三维虚拟环境中需要进行触摸的物体添加大小合适的碰撞盒。对于多个子物体可以在其父类上添加碰撞盒,比如对于叠放的多个盘子可整体添加一个碰撞盒。每个碰撞盒具有各自的三维形式的碰撞盒范围。

应用程序对球形检测范围和各个物体的碰撞盒范围进行求交集。当某个物体的碰撞盒范围与球形检测范围存在交集时,视为该物体处于可触摸范围内。

步骤404,将碰撞盒范围与球形检测范围存在交集的候选物体或候选物体的局部,确定为处于可触摸范围内的目标物体;

当处于可触摸范围内的候选物体为一个时,目标物体为一个;当处于可触摸范围内的候选物体为多个时,目标物体为多个;当存在一个候选物体的局部处于可触摸范围内时,将该候选物体的局部确定为目标物体,将该候选物体未处于可触摸范围的剩余部分不确定为目标物体。

步骤405,将目标物体的显示层设置为需要描边的层次;

终端将目标物体的显示层设置为需要描边的层次,对目标物体的显示层上的各个像素点作为待处理的候选像素点。

步骤406,根据目标区域,确定目标物体上满足预设条件的目标像素点;

目标物体上存在很多候选像素点,应用程序在多个候选像素点中确定目标物体上满足预设条件的目标像素点。可选地,预设条件包括如下两个条件:

1、候选像素点属于边缘像素点;

2、候选像素点与目标区域之间的距离小于阈值内。

可选地,条件2是候选像素点在摄像机平面上的投影位于目标区域内。

当候选像素点同时满足两个预设条件时,视为需要渲染的目标像素点。也即,用户透过遮罩层上的目标区域所能观察到的物体的轮廓。

应用程序调用着色器,着色器使用预设的边框颜色对目标像素点进行着色。可选地,预设颜色是白色。

步骤407,消除遮罩层在目标区域上的遮挡部分,在目标区域中显示目标像素点,目标像素点用于描绘出目标物体的轮廓。

应用程序将遮罩层在目标区域上的遮挡部分设置为透明或者取消。由于该部分遮挡部分不再具有遮挡效果,因此能够在目标区域中显示着色后的目标像素点。这些目标像素点描绘出目标物体的线框轮廓。

在基于图4的可选实施例中,针对上述步骤406,由于物体是三维虚拟环境中的三维物体,三维物体的轮廓可以采用基于深度差异和法线差异的确定方式来进行检测。参考图5,本步骤可包括如下步骤:

步骤501,获取目标物体上的候选像素点;

可选地,候选像素点是目标物体的显示层(表面)上的像素点。

步骤502,对于每一个候选像素点,根据候选像素点的深度差异和法线差异中的至少一种差异,确定候选像素点是否属于边缘像素点;

对于目标物体上的候选像素点,计算该候选像素点与两组相邻像素点之间的深度差异和法线差异。当深度差异大于深度阈值且法线差异大于法线阈值时,确定该候选像素点属于边缘像素点。当深度差异小于深度阈值或法线差异小于法线阈值时,确定该候选像素点不属于边缘像素点。

相邻像素点是候选像素点在目标物体的表面上相邻的像素点。其中,两组相邻像素点包括:

第一组相邻像素点:该候选像素点的左上像素点和右下像素点;

第二组相邻像素点:该候选像素点的左下像素点和右上像素点。

可选地,终端获取目标物体的显示层上的各个像素点的深度和法线。该深度是指该像素点相对于摄像机平面的距离。法线是指以该像素点为起点,做垂直于该像素点所在平面的射线。

对于任意一个像素点,当该像素点的深度与相邻像素点的深度存在较大差异,以及该像素点的法线与相邻像素点的法线存在较大差异时,该像素点存在较大可能性是边缘像素点。应用程序通过对深度差异和法线差异中的至少一种差异,能够确定出目标物体的边缘像素点。

其中,深度差异可采用深度阈值(dep1515reshold)来判定,深度阈值是控制显示描边轮廓时在深度维度上所需的阈值。法线差异可采用法线阈值(normal15reshold)来判定,法线阈值是控制显示描边轮廓时在法线维度上所需的阈值。

可选地,应用程序采用sobel算子与周围的像素点进行卷积操作,来计算像素点的差异。

需要说明的一点是,本实施例以同时采用深度差异和法线差异进行边缘检测来举例说明,在其他实施例中,可以仅使用深度差异进行边缘检测,也可以仅使用法线差异进行边缘检测,对此不加以限定。

步骤503,对于每一个候选像素点,根据候选像素点与目标区域之间的距离,确定该距离是否小于阈值;

由于目标物体可能比较大,而目标区域可能比较小,因此目标物体上的边缘像素点并不一定都能通过较小的目标区域所观察到。对于每一个候选像素点,应用程序还确定候选像素点与目标区域之间的距离是否小于阈值,以便确定该候选像素点是否为基于目标区域可被“触摸”到的点。

可选地,候选像素点与目标区域之间的距离采用如下方式来表示:候选像素点在摄像机平面上的投影点与目标区域的点(触摸点、中心点或最近的边缘点)之间的二维距离。

触摸点是目标区域中具有代表性的点,可以是中心点,或者非中心点但具有代表性的点。本实施例以该目标区域为圆形,中心点是指圆形目标区域的圆心来举例。

步骤504,当候选像素点属于物体边缘且距离小于阈值时,将候选像素点确定为目标像素点。

该目标像素点是被着色器进行着色并显示的点,也即在目标区域中显示出的边缘像素点。

综上所述,本实施例通过计算候选像素点与目标区域之间的距离,将该距离小于阈值的边缘像素点确定为目标像素点,实现了最终着色的目标像素点是基于目标区域的位置而确定的,当目标区域根据用户的滑动动作发生改变时,用户界面上所显示的目标像素点也会随着用户的滑动动作而发生改变,从而实现了动态遮罩的效果。

在一个可选的实施例中,为了加速目标像素点的显示,图5实施例中的步骤可实现成为:

在基于上述实施例的可选实施例中,上述目标区域的形状可以是圆形、椭圆形、方形、矩形、不规则形状中的至少一种,本实施例中以目标区域是圆形或椭圆形来举例说明。在默认状态下,上述目标区域是固定大小的区域。出于更为真实地模拟目的,该目标区域的大小可以根据目标物体与目标区域之间的距离、用户的触摸力度来进行动态修正。

在示意性的例子中,终端根据目标物体与目标区域之间的距离,确定第一目标系数;利用第一目标系数对目标区域的大小进行修正。终端内存储有第一对应关系,该第一对应关系是不同距离与不同第一目标系数之间的映射关系。按照近大远小的物理规律,在该第一对应关系中,距离和第一目标系数的大小呈正相关关系,也即距离越大,第一目标系数越大。终端将目标区域的半径减去第一目标系数后,得到修正后的目标区域。

也即,对于离目标区域较远的目标物体,目标区域会变小;对于离目标区域较近的目标物体,目标区域会变大。

在示意性的例子中,终端上的显示屏为压力感应触摸屏,该压力感应触摸屏能够感知到用户的触摸力度,并将触摸力度通过操作系统传递给应用程序。终端根据交互操作的触摸力度,确定第二目标系数;利用第二目标系数对目标区域的大小进行修正。终端内存储有第二对应关系,该第二对应关系是不同触摸力度与不同第二目标系数之间的映射关系。在该第二对应关系中,触摸力度的大小和第二目标系数的大小呈正相关关系,也即触摸力度越大,第二目标系数越大。终端将目标区域的半径加上第二目标系数后,得到修正后的目标区域。

也即,用户的触摸力度较小时,目标区域会变小;用户的触摸力度较大时,目标区域也会变大。

在示意性的例子中,终端根据距离和触摸力度,确定第三目标系数;利用第三目标系数对目标区域的大小进行修正。终端内存储有第三对应关系,该第三对应关系是不同距离、不同触摸力度与不同第三目标系数之间的三者映射关系。终端将目标区域的半径加上第三目标系数后,得到修正后的目标区域。

在基于上述实施例的可选实施例中,上述目标区域在延时一段时间后消失,恢复遮罩效果,从而模拟触觉感受的记忆在人脑中消失的效果。也即,在延时预设时长后,终端会恢复对目标区域中的物体的轮廓的遮挡。上述恢复过程,可以是在延时预设时长后的突变性恢复,也可以是逐渐变化的渐变性恢复。当采用渐变性恢复时,上述方法还包括如下步骤:

步骤一,根据交互操作启动延时计时器;

终端在接收到交互操作时,启动延时计时器。

若该交互操作是持续一段时间的滑动操作,则可以在每帧用户界面的计算过程中,确定该交互操作是否还存在,当该交互操作还存在时,重置该延时计时器,以便该延时计时器从交互操作开始消失时真正生效。

步骤二,在延时计时器的计时期间,逐渐减小目标区域,直至目标区域消失。

在延时计时器的计时期间,终端逐渐减小目标区域。比如,以延时计时器所计时的时长的平方作为半径衰减速度,减小目标区域的半径(也称最大显示描边半径)。此时,目标区域的减小速度与延时计时器的计时时长的平方呈正比关系。

从用户的视觉感受来看,该目标区域随着时间渐渐地变小,直至消失。该目标区域中显示的目标像素点也逐渐被遮盖,与记忆消失的效果类似。

在基于上述各个实施例的可选实施例中,上述步骤406可实现成为如下步骤1和2,上述步骤407可实现成为如下步骤3和4:

步骤1:根据深度差异和法线差异中的至少一种差异,确定目标物体上属于物体边缘的边缘像素点;

步骤2:对边缘像素点采用预设颜色进行着色得到描边层,描边层中具有着色后的边缘像素点;

步骤3,确定着色后的边缘像素点与目标区域之间的距离;

步骤4,当距离小于阈值时,将着色后的边缘像素点确定为在目标区域中显示的目标像素点。

由于步骤1和步骤2实现了描边层的预处理过程,然后再确定需要在目标区域中显示的目标像素点,因此能够牺牲一定的计算量来换取更快的显示速度。

在基于上述各个实施例的可选实施例中,所述方法应用于具有触摸屏的终端中,该触摸屏具有触觉反馈功能。该方法还包括:

应用程序根据目标区域中显示的目标物体的轮廓,生成触觉模拟信号;根据触觉模拟信号调用触摸屏模拟目标物体的轮廓。

由于触觉反馈功能可以采用震动器、触摸屏上液体层或电极层来模拟凹凸不平的触感,因此该触觉模拟信号调用操作系统提供的函数接口,使得触摸屏对目标物体的轮廓模拟出高低不平的凹凸感,以及不同材质的材质感受。具有触觉反馈功能的触摸屏可采用相关技术中提供的触摸屏。

图6示出了本申请另一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图。该方法可以由具有触摸屏的终端来执行。该方法包括:

步骤601,用户触摸终端的触摸屏;

该终端的触摸屏根据用户的交互操作,生成触摸事件。该触摸事件携带有触摸点的坐标。

当该交互操作是点击操作时,该触摸事件可包括触摸开始事件(touchstart)和触摸结束事件(touchend)。

当该触摸屏是滑动操作时,该触摸事件可包括触摸开始事件、至少一个触摸滑动事件(touchmove)和触摸结束事件。

步骤602,终端检测是否存在交互操作;

终端根据触摸屏上报的触摸事件,检测是否存在交互操作。当存在交互操作时,进入步骤603;当不存在触摸事件时,保持用户界面不变。

步骤603,终端对三维虚拟环境中的画面进行描边预处理;

终端可计算用户可能触摸到的三维物体,对用户可能触摸到的三维物体进行描边预处理,将这些三维物体的边缘像素点着色后得到描边层。

比如,终端可将离摄像机平面在预设深度内的物体预测为用户可能触摸到的三维物体,对这些三维物体采用深度差异和法线差异中的至少一种来进行边缘检测,从而确定出这些三维物体的边缘像素点,并对边缘像素点采用预设的边框颜色进行着色。

步骤604,终端调用动态遮罩与预处理的画面相结合;

终端根据触摸事件中的触摸点的坐标,确定遮罩层上的目标区域。

终端根据交互操作取消遮罩层的目标区域的遮挡部分,形成动态遮罩。该动态遮罩上的目标区域设置为透明或取消,从而显示出描边层上位于目标区域内的目标物体的轮廓。

步骤605,用户看到模拟盲人触觉的显示效果。

参考图7,在三维虚拟世界71中存在球形物体和正方形物体。终端根据用户在触摸屏上的目标区域确定三维虚拟世界71中的可触摸范围。对处于可触摸范围内的物体生成描边层72。终端还根据目标区域形成动态遮罩73,该动态遮罩73可以是黑色的遮罩层,该动态遮罩73可以是不透明或半透明的,该动态遮罩73上的目标区域的遮挡被取消,形成可视的圆形区域。终端将动态遮罩73与描边层72相结合,确定能够在目标区域中显示的物体的轮廓,得到模拟盲人感受的画面74。

图8从另一个角度对摄像机70(主摄像机或描边摄像机)进行示意,摄像机70用于采用第一视角对三维虚拟世界71进行观察,动态遮罩73是位于摄像机70前方的一个图层。

图9示出了本申请一个示意性实施例提供的用于模拟盲人感受的物体显示方法的流程图。该方法可以由具有触摸屏的终端来执行。该方法包括:

步骤901,开始;

终端上运行有应用程序。终端的桌面上显示有该应用程序的图标。用户点击该应用程序的图标,终端启动该应用程序。该应用程序中提供有三维形式的的三维虚拟环境。

应用程序在启动后,显示叠加有遮罩层的三维虚拟环境画面。可选地,该遮罩层是单色的遮罩层,比如黑色的遮罩层、绿色的遮罩层、棕色的遮罩层等。在不同实施例中,该遮罩层还可以是迷雾形式的遮罩层。

步骤902,当存在交互操作时,确定应用程序内的碰撞点a;

当存在交互操作时,终端根据交互操作确定目标区域。终端根据目标区域所在的摄像机平面,确定应用程序内的碰撞点a。

可选地,终端基于目标区域所在的摄像机平面向前做法线,将该法线第一次碰撞到的物体上的点,确定为应用程序内的碰撞点a。

步骤903,判断碰撞点a是否超过设定深度;

当未超过设定深度时,进入步骤904;当超过设定深度时,进入步骤911;

步骤904,以碰撞点a为球形,将半径r内碰撞的所有候选物体,标记为目标物体;

步骤905,判断上一帧是否存在交互操作;

本次判断用于确定是否需要重置延时定时器。

当存在交互操作时,进入步骤906;当不存在交互操作时,进入步骤911;

步骤906,显示层修改为需要进行描边处理的层次;

终端将目标物体的显示层修改为需要进行描边处理的层次,对目标物体的显示层进行描边预处理。本步骤的过程可以参考上述步骤405的描述。

步骤907,进行着色器内部处理;

终端通过着色器对目标物体上的边缘像素点进行内部处理,得到描边层。

步骤908,判定是否满足预设条件;

终端确定目标物体上的候选像素点中是否存在处于可触摸范围内的目标像素点。

当存在满足要求的候选像素点时,进入步骤909;当不存在满足要求的候选像素点时,进入步骤911。

步骤909,通过深度判断对目标区域进行修正;

由于目标物体与目标区域所在的摄像机平面的远近不同,根据近大远小的原则,终端根据目标物体的深度对目标区域的大小进行修正。当目标物体的深度较大时,使用较小的目标区域;当目标物体的深度较小时,使用较大的目标区域。

步骤910,将符合预设条件的目标像素点的颜色修改为指定的描边颜色(edgecolor);

终端对目标区域中符合预设条件的目标像素点进行着色。有关预设条件的描述可以参考上述图5示出的描述。

步骤911,不处理,保留主摄像机图像;

步骤912,开始进行延时效果对应的延期定时器的计时。

步骤913,结束。

由于本申请实施例中采用动态遮罩来确定出物体的轮廓,因此能够较为真实地模拟出盲人触摸的视觉效果。图10示出了相关技术中的物体轮廓检测技术,该技术会将整个物体(花盆)的所有轮廓都显示出来。相比于相关技术,图11示出了本申请实施例所显示的轮廓效果,仅会显示出位于目标区域内的物体的轮廓(图中大半个花盆的轮廓),而且该目标区域还会逐渐变小,模拟出触觉感受的视觉残留效果,如图12所示的画面中的花盆纹理在触摸完成后逐渐消失的效果。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图13示出了本申请一个示意性实施例提供的用于模拟盲人感受的物体显示装置的框图。该装置可以实现成为终端的全部或一部分。该装置包括:

显示模块1320,用于显示应用程序的用户界面,所述用户界面是用于显示三维虚拟环境的界面,所述用户界面上叠加有遮罩层;

交互模块1340,用于接收在所述用户界面的目标区域上触发的交互操作;

显示模块1320,用于根据所述交互操作在所述目标区域中显示位于所述三维虚拟环境中的物体的轮廓。

综上所述,本实施例提供的装置,通过在用户界面上叠加遮罩层,根据用户对目标区域的交互操作,来取消遮罩层在目标区域上的遮挡部分,并在目标区域中显示位于三维虚拟环境中的物体的轮廓;从而能够较为真实地模拟出盲人在黑暗的世界中触摸到物体,在脑海中呈现出该物体的三维轮廓的效果。

在基于图13的可选实施例中,所述显示模块1320包括:候选确定单元1322、目标确定单元1324和显示单元1326,如图14所示;

候选确定单元1322,用于确定所述三维虚拟环境中的至少一个候选物体;

目标确定单元1324,用于根据所述目标区域在所述三维虚拟环境中确定处于可触摸范围内的目标物体,所述目标物体是所述候选物体中的一个或多个或者局部;

显示单元1326,用于根据所述交互操作消除所述遮罩层在所述目标区域上的遮挡部分,在所述目标区域中显示所述目标物体的轮廓。

在基于图13的可选实施例中,所述目标确定单元1324,用于在所述三维虚拟环境中确定位于所述目标区域前方的碰撞检测点;在所述碰撞检测点与所述目标区域之间的距离小于设定深度时,以所述碰撞检测点为中心确定所述可触摸范围对应的球形检测范围,以及确定所述候选物体对应的碰撞盒范围;将所述碰撞盒范围与所述球形检测范围存在交集的所述候选物体或所述候选物体的局部,确定为处于所述可触摸范围内的目标物体。

在基于图13的可选实施例中,所述显示单元1326,用于根据所述目标区域,确定所述目标物体上满足预设条件的目标像素点;消除所述遮罩层在所述目标区域上的遮挡部分,在所述目标区域中显示所述目标像素点,所述目标像素点用于描绘所述目标物体的轮廓;

其中,所述预设条件包括:像素点属于物体边缘,且,所述像素点与所述目标区域之间的距离小于阈值。

在基于图13的可选实施例中,所述显示单元1326,用于根据深度差异和法线差异中的至少一种差异,确定所述目标物体上属于所述物体边缘的边缘像素点;对所述边缘像素点采用预设颜色进行着色得到描边层,所述描边层中具有着色后的边缘像素点;确定所述着色后的边缘像素点与所述目标区域之间的距离;当所述距离小于所述阈值时,将所述着色后的边缘像素点确定为在所述目标区域中显示的所述目标像素点。

在基于图13的可选实施例中,所述显示单元1326,用于根据所述目标物体与所述目标区域之间的距离,确定第一目标系数;利用所述第一目标系数对所述目标区域的大小进行修正;或,根据所述交互操作的触摸力度,确定第二目标系数;利用所述第二目标系数对所述目标区域的大小进行修正;或,根据所述距离和所述触摸力度,确定第三目标系数;利用所述第三目标系数对所述目标区域的大小进行修正。

在基于图13的可选实施例中,所述显示单元1326,用于在延时预设时长后,恢复对所述目标区域中的所述物体的轮廓的遮挡。

在基于图13的可选实施例中,所述显示单元1326,用于在根据所述交互操作启动延时计时器;在所述延时计时器的计时期间,逐渐减小所述目标区域,直至所述目标区域消失。

在基于图13的可选实施例中,所述目标区域的减小速度与所述延时计时器的计时时长的平方呈正比关系。

在基于图13的可选实施例中,所述装置具有触摸屏,所述触摸屏具有触觉反馈功能,所述显示单元1326,用于根据所述目标区域中显示的所述目标物体的轮廓,生成触觉模拟信号;根据所述触觉模拟信号调用所述触摸屏模拟所述目标物体的轮廓。

需要说明的是:上述实施例提供的用于模拟盲人感受的物体显示装置在显示物体轮廓时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于模拟盲人感受的物体显示装置,与用于模拟盲人感受的物体显示方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图15,其示出了本申请一个示例性实施例提供的终端1500的结构框图。该终端1500可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1500包括有:处理器1501和存储器1502。

处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行以实现本申请中方法实施例提供的用于模拟盲人感受的物体显示方法。

在一些实施例中,终端1500还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、触摸显示屏1505、摄像头1506、音频电路1507、定位组件1508和电源1509中的至少一种。

外围设备接口1503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1504用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1505用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置终端1500的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端1500的不同表面或呈折叠设计;在再一些实施例中,显示屏1505可以是柔性显示屏,设置在终端1500的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。

定位组件1508用于定位终端1500的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1508可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源1509用于为终端1500中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1500还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感器1514、光学传感器1515以及接近传感器1516。

加速度传感器1511可以检测以终端1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制触摸显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1512可以检测终端1500的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端1500的3d动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1513可以设置在终端1500的侧边框和/或触摸显示屏1505的下层。当压力传感器1513设置在终端1500的侧边框时,可以检测用户对终端1500的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在触摸显示屏1505的下层时,由处理器1501根据用户对触摸显示屏1505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设置终端1500的正面、背面或侧面。当终端1500上设置有物理按键或厂商logo时,指纹传感器1514可以与物理按键或厂商logo集成在一起。

光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制触摸显示屏1505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1505的显示亮度;当环境光强度较低时,调低触摸显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。

接近传感器1516,也称距离传感器,通常设置在终端1500的前面板。接近传感器1516用于采集用户与终端1500的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变小时,由处理器1501控制触摸显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变大时,由处理器1501控制触摸显示屏1505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图15中示出的结构并不构成对终端1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例还提供了一种计算机存储介质,该计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用于模拟盲人感受的物体显示方法。

本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用于模拟盲人感受的物体显示方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1