增强现实方法和装置与流程

文档序号:16091044发布日期:2018-11-27 23:01阅读:135来源:国知局

本申请涉及计算机领域,具体涉及增强现实领域,尤其涉及增强现实方法和装置。



背景技术:

目前,在一些导航类应用中,提供在用户拍摄到的部分楼块上呈现标注信息的功能。目前,通常的呈现方式为以人工方式预先设置标注信息在楼块上的叠加位置,只有当标注信息在楼块上的叠加位置处于用户的终端的摄像头的视角范围内时,才能呈现标注信息。在经常出现的诸如用户处于的位置仅能拍摄体积大的楼块的一部分而预先设置的叠加位置不在拍摄的部分中的情况,无法将标注信息呈现给用户,并且,还会出现预先设置的多个楼块的标注信息之间出现重叠的情况,无法清晰地呈现标注信息。



技术实现要素:

本申请实施例提供了增强现实方法和装置。

第一方面,本申请实施例提供了增强现实方法,该方法包括:获取满足预设选取条件的多个楼块的轮廓数据,其中,所述轮廓数据用于描述楼块在三维空间中的轮廓;基于多个楼块中的每一个楼块的投射线段,生成参考信息,其中,楼块的投射线段基于将楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面而得到,参考信息用于描述在水平方向多个楼块中的楼块之间是否存在遮挡以及当存在遮挡时的遮挡情况;基于参考信息,确定多个楼块中的目标楼块和目标楼块的标注信息在用户的终端采集到的图像中的叠加区域;将目标楼块的标注信息叠加在确定出的叠加区域,得到增强现实图像。

第二方面,本申请实施例提供了增强现实装置,该装置包括:获取单元,被配置为获取满足预设选取条件的多个楼块的轮廓数据,其中,所述轮廓数据用于描述楼块在三维空间中的轮廓;生成单元,被配置为基于多个楼块中的每一个楼块的投射线段,生成参考信息,其中,楼块的投射线段基于将楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面而得到,参考信息用于描述在水平方向多个楼块中的楼块之间是否存在遮挡以及当存在遮挡时的遮挡情况;确定单元,被配置为基于参考信息,确定多个楼块中的目标楼块和目标楼块的标注信息在用户的终端采集到的图像中的叠加区域;呈现单元,被配置为将目标楼块的标注信息叠加在确定出的叠加区域,得到增强现实图像。

本申请实施例提供的增强现实方法和装置,通过获取满足预设选取条件的多个楼块的轮廓数据,其中,所述轮廓数据用于描述楼块在三维空间中的轮廓;基于多个楼块中的每一个楼块的投射线段,生成参考信息,其中,楼块的投射线段基于将楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面而得到,参考信息用于描述在水平方向多个楼块中的楼块之间是否存在遮挡以及当存在遮挡时的遮挡情况;基于参考信息,确定多个楼块中的目标楼块和目标楼块的标注信息在用户的终端采集到的图像中的叠加区域;将目标楼块的标注信息叠加在确定出的叠加区域,得到增强现实图像。实现了在用户的终端的摄像头在各种视角拍摄楼块或仅拍摄到楼块的部分的情况下,均可以将楼块的标注信息在拍摄的图像中显示以进行增强现实,以及可以确保多个楼块的标注信息之间不会出现重叠,清晰地呈现标注信息。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了适于用来实现本申请的实施例的示例性系统架构;

图2示出了根据本申请的增强现实方法的一个实施例的流程图;

图3示出了根据本申请的增强现实装置的一个实施例的结构示意图;

图4是适于用来实现本申请实施例的终端的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,其示出了适于用来实现本申请的实施例的示例性系统架构。

如图1所示,系统架构包括终端101、网络102、服务器103。网络102可以为有线通信网络或无线通信网络。

服务器103可以为提供电子地图服务的服务器。服务器103预先对应存储了多个楼块的轮廓数据。楼块的轮廓数据可以为楼块的在地平面的轮廓数据。终端101可以从服务器103获取终端101的用户附近的多个楼块的轮廓数据。

请参考图2,其示出了根据本申请的增强现实方法的一个实施例的流程。本申请实施例所提供的增强现实方法可以由终端(例如图1中的终端101)执行。该方法包括以下步骤:

步骤201,获取满足预设选取条件的多个楼块的轮廓数据。

在本实施例中,楼块可以为写字楼、商场、住宅楼等。当用户的终端上的摄像头开启并且用户使用在用户的终端的摄像头采集的图像中增强呈现一些楼块的标注信息的功能时,可以首先获取预设选取条件的多个楼块的轮廓数据。预设选取条件可以包括:至少部分位于用户的终端的摄像头的视角范围内并且与用户的距离按照从近至远的进行排序后次序小于预设次序的大型楼块。换言之,获取至少部分位于用户的终端的摄像头的视角范围内的距离用户最近的多个大型楼块的轮廓数据。多个楼块中的每一个楼块均至少部分位于用户的终端的摄像头采集到的图像中。

用户的终端可以将用户的位置以及用户的终端的摄像头的拍摄角度发送至提供电子地图服务的服务器,提供电子地图服务的服务器预先存储了海量的楼块的轮廓数据、海量的楼块在电子地图中的轮廓。提供电子地图服务的服务器可以根据用户的位置以及用户的终端的摄像头的拍摄角度,查找出至少部分位于用户的终端的摄像头的视角范围内,与用户的距离按照从近至远进行排序后次序小于预设次序的大型楼块,进而获取到查找出的大型楼块的轮廓数据。楼块的轮廓数据描述楼块在三维空间中的地平面上的轮廓。

在本实施例中,楼块的标注信息可以包括标注框、位于标注框中的楼块的名称和楼块与用户的距离。标注框的形状可以为矩形、气泡形等。

步骤202,基于多个楼块中的每一个楼块的投射线段,生成参考信息。

在本实施例中,在获取满足预设选取条件的多个楼块的轮廓数据之后,可以确定多个楼块在三维空间中的轮廓。可以首先对于多个楼块中的每一个楼块,分别将每一个楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面,得到每一个楼块各自对应的一个线段。每一个楼块对应的一个线段的长度为在三维空间中的真实长度,需要将真实长度转换为在用户的终端的屏幕中的长度,得到每一个楼块各自的在用户的终端上的屏幕上的投射线段。换言之,相当于将楼块在三维空间中的轮廓映射到用户的终端的屏幕上,得到每一个楼块的投射线段。

在本实施例中,当将楼块在三维空间中的轮廓映射到用户的终端的屏幕时,可以将楼块在三维空间中的轮廓上的三维点的在世界坐标系下的三维坐标转换为在用户的终端的屏幕对应的二维坐标系下的二维坐标,从而,确定出楼块在三维空间中的轮廓上的三维点在用户的终端的屏幕上对应的二维点,所有三维点对应的二维点均位于同一水平线上,在水平方向上距离用户的终端的屏幕的两端最近的二维点分别作为投射线段的一端的端点,进而构成楼块的投射线段。

例如,当将楼块在三维空间中的轮廓映射到用户的终端的屏幕时,可以利用OpenGL(Open Graphics Library)提供的MVP(Model View Projection)投影算法将楼块在三维空间中的轮廓上的三维点的在世界坐标系下的三维坐标转换为在用户的终端的屏幕对应的二维坐标系下的二维坐标,进而可以将楼块在三维空间中的轮廓映射到用户的终端的屏幕,得到楼块的投射线段。

在本实施例中,当对于每一个楼块,将楼块在三维空间中的轮廓映射到用户的终端的屏幕时,可以在三维空间中的同一高度分别将每一个楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面,得到每一个楼块对应的线段,然后,转换为在用户的终端的屏幕中的长度,得到每一个楼块的在用户的终端上的屏幕上的投射线段。相应地,每一个楼块的在用户的终端上的屏幕上的投射线段位于同一水平线上。

在本实施例中,可以预先确定利用多个不同的屏幕的宽度的终端拍摄同一楼块时,该楼块在水平方向的最大真实长度和在屏幕中的该楼块在水平方向的最大长度。水平方向的最大真实长度为楼块的在三维空间中的轮廓上横坐标最小的点和横坐标最大的点之间的距离。在屏幕中的该楼块在水平方向的最大长度为图像中的楼块的轮廓上横坐标最小的像素点和横坐标最大的像素点之间的距离。对于每一个宽度的屏幕,可以将在屏幕中的该楼块在水平方向的最大长度除以该楼块在水平方向的最大真实长度得到的比例作为屏幕对应的比例。在将一个楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面得到该楼块对应的线段之后,可以将该楼块对应的线段在三维空间中的真实长度乘以该终端的屏幕对应的比例,得到该楼块的投射线段的长度。

在本实施例中,可以基于多个楼块中的每一个楼块的投射线段,生成参考信息。参考信息可以描述每一个楼块在水平方向是否被其他的楼块遮挡,以及当被遮挡时的遮挡情况,遮挡情况可以为部分遮挡、全部遮挡。

在本实施例中,一个楼块是否被其他的楼块遮挡是指该楼块是否被与用户的距离小于其与用户的距离的其他的楼块遮挡。换言之,一个楼块是否被其他的楼块遮挡是指该楼块是否被位于其前面的其他的楼块遮挡。

在本实施例中,在将多个楼块中的每一个楼块在三维空间中的轮廓映射到用户的终端的屏幕上,得到每一个楼块的投射线段之后,可以根据每一个楼块的投射线段,判断每一个楼块是否被位于其前面的其他的楼块遮挡以及当判断出被遮挡时进一步判断遮挡情况为部分遮挡或全部遮挡。

在本实施例中,在根据多个楼块中的每一个楼块的投射线段,判断每一个楼块是否被位于其前面的其他的楼块遮挡以及当判断出被遮挡时进一步判断遮挡情况为部分遮挡或全部遮挡,可以生成参考信息来描述多个楼块中的每一个楼块是否被位于其前面的其他的楼块遮挡以及被遮挡时的遮挡情况。

在本实施例中,对于多个楼块中的一个楼块,可以根据该楼块的投射线段和位于该楼块前面的一个其他的楼块的投射线段,判断在水平方向上该楼块是否被该其他的楼块遮挡以及在被遮挡时的遮挡情况。当该楼块的投射线段与该其他的楼块的投射线段处于同一水平线时,该楼块的投射线段与该其他的楼块的投射线段无相同的子线段时,则该楼块未被该其他楼块遮挡。当该楼块的投射线段与该其他的楼块的投射线段处于同一水平线时,该楼块的投射线段与该其他的楼块的投射线段既有相同的子线段并且该楼块的投射线段具有该其他的楼块不具有的子线段时,则该楼块被该其他楼块部分遮挡。当该楼块的投射线段与该其他的楼块的投射线段处于同一水平线时,该楼块的投射线段成为该其他的楼块的投射线段的子线段时,则该楼块被该其他楼块完全遮挡。

步骤203,基于参考信息,确定多个楼块中的目标楼块和叠加区域。

在本实施例中,待在用户的终端采集到的图像中呈现标注信息的楼块为目标楼块。可以首先确定多个楼块中的被至少一个楼块完全遮挡的楼块,然后,将多个楼块中的除了被至少一个楼块完全遮挡的楼块之外的楼块,即未被任意一个楼块完全遮挡的楼块作为目标楼块。与用户的距离最近的楼块未被任意一个楼块完全遮挡,与用户的距离最近的楼块为目标楼块。换言之,呈现给用户的标注信息包括:每一个目标楼块即未被任意一个楼块完全遮挡的楼块的标注信息。

在本实施例中,楼块的标注信息可以包括标注框和位于标注框中的楼块的名称。标注框的形状可以为矩形、气泡形等。每一个楼块的标注框的形状和面积均相同。

在本实施例中,由于楼块的名称和与用户的距离是在楼块的标注信息中的标注框中被呈现给用户的,因此,楼块的标注信息在用户的终端采集到的图像中的叠加区域可以相当于楼块的标注信息中的标注框在用户的终端采集到的图像中占据的区域。确定楼块的标注信息在用户的终端采集到的图像中的叠加区域相当于确定楼块的标注信息中的标注框在用户的终端采集到的图像中占据的区域。每一个目标楼块的标注信息的叠加区域的中心点可以相当于每一个目标楼块的标注信息中的标注框的中心点。

可以首先确定每一个目标楼块的标注信息中的标注框的中心点的横坐标值。横坐标值可以为以用户的终端的屏幕的一个角点例如左下角为坐标系的原点的坐标系中的横坐标值。每一个目标楼块的标注信息的标注框的中心点的横坐标值应使得所有目标楼块中的任意两个目标楼块的标注信息中的标注框在水平方向无重叠。任意两个目标楼块的标注信息中的标注框在水平方向无重叠可以相当于当任意两个目标楼块的标注信息中的标注框的中心点位于同一水平线时,任意两个目标楼块的标注信息中的标注框在水平方向无重叠。

在确定每一个目标楼块的标注信息的标注框的中心点的横坐标值之后,可以确定每一个目标楼块的标注信息的标注框的中心点的纵坐标。每一个目标楼块的标注信息的标注框的中心点的纵坐标应使得所有目标楼块中的任意两个目标楼块的标注框在垂直方向无重叠。任意两个目标楼块的标注信息中的标注框在垂直方向无重叠可以相当于当任意两个目标楼块的标注信息中的标注框的中心点位于同一垂直线时,任意两个目标楼块的标注信息中的标注框在垂直方向无重叠。

在确定每一个目标楼块的标注信息的标注框的中心点的横坐标和纵坐标之后,可以得到每一个目标楼块的标注信息的标注框的中心点的位置。可以进一步分别确定形状和面积均相同的每一个目标楼块的标注信息的标注框在用户的终端采集到的图像中占据的区域,从而,确定出每一个目标楼块的标注信息在用户的终端采集到的图像中的叠加区域。

在本实施例的一些可选的实现方式中,当多个楼块中的与用户的距离最近的楼块完全遮挡所有其他的楼块时,可以根据与用户的距离最近的楼块的投射线段的长度大于屏幕的宽度,确定多个楼块中的与用户的距离最近的楼块完全遮挡所有其他的楼块,则可以生成指示在水平方向多个楼块中的与用户的距离最近的楼块完全遮挡所有其他的楼块的指示信息。相应的,参考信息包括:指示在水平方向多个楼块中的与用户的距离最近的楼块完全遮挡所有其他的楼块的指示信息。当确定多个楼块中的目标楼块和确定目标楼块的标注信息在用户的终端采集到的图像中的叠加区域时,可以将与用户的距离最近的楼块作为目标楼块。换言之,只向用户呈现距离用户的最近的楼块的标注信息。可以将与用户的距离最近的楼块的投射线段的中心点的横坐标作为与用户的距离最近的楼块的标注信息在图像中的叠加区域的中心点的横坐标。然后,可以确定与用户的距离最近的楼块的标注信息在图像中的叠加区域的中心点的纵坐标,可以与用户的距离最近的楼块的标注信息中的标注框的中心点的位置。

在本实施例的一些可选的实现方式中,当多个楼块中包含水平方向被至少一个楼块完全遮挡的楼块和未被任意一个楼块完全遮挡的楼块时,可以根据每一个楼块的投射线段,确定多个楼块中包含水平方向被至少一个楼块完全遮挡的楼块和未被任意一个楼块完全遮挡的楼块。生成的参考信息还包括:多个楼块中的在水平方向被至少一个楼块完全遮挡的楼块的标识和多个楼块中的未被任意一个楼块完全遮挡的楼块的标识。

当基于参考信息,确定待呈现的标注信息和待呈现的标注信息在用户的终端采集到的图像中的叠加区域时,可以根据参考信息中的在水平方向被至少一个楼块完全遮挡的楼块的标识和未被任意一个楼块完全遮挡的楼块的标识,确定多个楼块中的每一个被至少一个楼块完全遮挡的楼块和未被任意一个楼块完全遮挡的楼块。然后,可以将在水平方向未被任意一个楼块完全遮挡的楼块作为目标楼块。目标楼块的数量可以为多个。

可以首先根据目标楼块中的最近楼块和目标楼块中的次近楼块之间的第一遮挡关联情况,确定最近楼块与次近楼块的标注信息在用户的终端采集到的图像中的叠加区域。最近楼块为所有目标楼块中与用户的距离最近的目标楼块,次近楼块为所有目标楼块中与用户的距离第二近的目标楼块。第一遮挡关联情况可以为:次近楼块未被最近楼块遮挡、次近楼块被最近楼块部分遮挡并且次近楼块的未被最近楼块遮挡的部分位于最近楼块的一侧、次近楼块被最近楼块部分遮挡并且次近楼块的未被最近楼块遮挡的部分分布在最近楼块的两侧。

当最近楼块的投射线段与次近楼块处于同一水平线时,次近楼块的投射线段与最近楼块的投射线段无相同的子线段时,则次近楼块未被最近楼块遮挡。当最近楼块的投射线段与次近楼块处于同一水平线时,若次近楼块的投射线段上的不属于最近楼块的投射线段的子线段位于最近楼块的投射线段的一侧即左侧或右侧时,次近楼块被最近楼块部分遮挡并且次近楼块的未被最近楼块遮挡的部分位于最近楼块的一侧。当最近楼块的投射线段与次近楼块处于同一水平线时,若最近楼块的投射线段的两侧具有近楼块的投射线段上的不属于最近楼块的投射线段的子线段,则次近楼块被最近楼块部分遮挡并且次近楼块的未被最近楼块遮挡的部分分布在最近楼块的两侧。

当第一遮挡关联情况为最近楼块未被次近楼块遮挡时,可以将次近楼块的投射线段的中心点的横坐标作为次近楼块的标注信息中的标注框的中心点的横坐标,同时,可以将最近楼块的投射线段的中心点的横坐标作为最近楼块的标注信息中的标注框的中心点的横坐标。

当第一遮挡关联情况为次近楼块被最近楼块部分遮挡并且未被遮挡的部分在次近楼块的一侧或最近楼块被次近楼块部分遮挡并且未被遮挡的部分分布在最近楼块的两侧时,均可以将次近楼块的投射线段与最近楼块的投射线段处于同一水平线时,次近楼块的投射线段上的并且不属于最近楼块的投射线段的子线段的中心点作为次近楼块的标注信息中的标注框的中心点。同时,将最近楼块的投射线段的中心点的横坐标作为最近楼块的标注信息中的标注框的中心点的横坐标。

在确定了次近楼块、最近楼块的标注信息中的标注框的中心点的横坐标之后,可以确定出次近楼块、最近楼块的标注信息中的标注框的中心点的纵坐标,次近楼块、最近楼块的标注信息中的标注框的中心点的纵坐标可以使得在垂直方向次近楼块的标注信息中的标注框与最近楼块的标注信息中的标注框不重叠。在确定出最近楼块、次近楼块的标注信息中的标注框的中心点的横坐标、纵坐标之后,可以同时确定最近楼块、次近楼块的标注信息中的标注框的中心点的位置,相应的,可以确定最近楼块、次近楼块的标注信息中的标注框在用户的终端拍摄的图像中占据的区域,即确定最近楼块、次近楼块的标注信息在用户的终端拍摄的图像中的叠加区域。

对于目标楼块中的除了最近楼块和次近楼块之外的每一个目标楼块,分别根据目标楼块与目标楼块的前一个目标楼块之间的第二遮挡关联情况,确定目标楼块的标注信息在用户的终端采集到的图像中的叠加区域,即确定目标楼块的标注信息中的标注框在用户的终端采集到的图像中占据的区域。一个除了最近楼块和次近楼块之外的目标楼块的前一个目标楼块是指在与用户的距离小于该目标楼块与用户的距离的其他的除了最近楼块和次近楼块之外的目标楼块中,与用户的距离最大的目标楼块。

除了最近楼块和次近楼块之外的一个目标楼块与前一个目标楼块的第二遮挡关联情况可以为:该目标楼块未被前一个目标楼块遮挡、该目标楼块被前一个目标楼块部分遮挡并且该目标楼块的未被前一个目标楼块遮挡的部分位于前一个目标楼块的一侧、该目标楼块被前一个目标楼块部分遮挡并且该目标楼块的未被前一个目标楼块遮挡的部分分布在前一个目标楼块的两侧。

对于每一个除了最近楼块和次近楼块之外的每一个目标楼块,根据与用户的距离由近至远的次序,依次确定每一个目标楼块的标注信息中的标注框的中心点的位置。

当确定除了最近楼块和次近楼块之外的一个目标楼块的标注信息中的标注框的中心点的位置时,该目标楼块的前一个目标楼块的标注信息中的标注框的中心点的位置已经确定,已经确定的前一楼块的标注信息中的标注框的中心点保持不动。当该目标楼块与前一个目标楼块的第二遮挡关联情况为该目标楼块未被该前一楼块遮挡时,可以将该目标楼块的投射线段的中心点的横坐标作为该目标楼块的标注信息中的标注框的中心点的横坐标。当该目标楼块与前一个目标楼块的第二遮挡关联情况为该目标楼块被该前一个目标楼块部分遮挡并且未被遮挡的部分在该前一个目标楼块的一侧或分布在该前一个目标楼块的两侧时,可以将该目标楼块与该前一个目标楼块处于同一水平线时,该目标楼块上的并且不属于该前一个目标楼块的投射线段的子线段的中心点作为该目标楼块的标注信息中的标注框的中心点。在确定了该目标楼块的标注信息中的标注框的中心点的横坐标之后,可以确定该目标楼块的标注信息中的标注框的中心点的纵坐标。该目标楼块的标注信息中的标注框的中心点的纵坐标可以使得在垂直方向该目标楼块的标注信息中的标注框与该前一个目标楼块的标注信息中的标注框不重叠。

在本实施例的一些可选的实现方式中,当最近楼块与次近楼块之间的第一遮挡关联情况为最近楼块未被次近楼块遮挡或最近楼块被次近楼块部分遮挡并且未被遮挡的部分分布在最近楼块的两侧时,可以将次近楼块的投射线段的中心点的横坐标作为次近楼块的标注信息中的标注框的中心点的横坐标,同时,可以将最近楼块的投射线段的中心点的横坐标作为最近楼块的标注信息中的标注框的中心点的横坐标。

当最近楼块与次近楼块之间的第一遮挡关联情况为次近楼块被最近楼块部分遮挡并且未被遮挡的部分在次近楼块的一侧时,可以将次近楼块的投射线段与最近楼块的投射线段处于同一水平线时,对应于未被最近楼块遮挡的部分的子线段即次近楼块的投射线段上的不属于最近楼块的投射线段的子线段的中心点作为次近楼块的标注信息中的标注框的中心点。同时,将最近楼块的投射线段的中心点的横坐标作为最近楼块的标注信息中的标注框的中心点的横坐标。

在本实施例的一些可选的实现方式中,当确定每一个目标楼块的在标注信息在所述图像中的叠加区域的中心点的纵坐标时,可以按照与用户的距离对所有目标楼块进行排序;基于排序后的每一个目标楼块的次序,确定每一个目标楼块的在标注信息在用户的终端采集到的图像中的叠加区域的中心点的纵坐标,即确定每一个目标楼块的在标注信息中的标注框。

可以根据与用户的距离由近至远的次序对目标楼块进行排序,一个目标楼块的次序越靠后,则纵坐标的数值越大。换言之,一个目标楼块的次序越靠后,则该目标楼块的标注信息中的标注框在用户的终端的屏幕中的位置越高。每一个目标楼块的在标注信息在用户的终端采集到的图像中的叠加区域的中心点的纵坐标可以使得任意两个目标楼块的标注信息中的标注框在垂直方向无重叠。

可以根据楼块的轮廓、楼块的其他特征等,大概确定用户的终端采集到的图像中的各个目标楼块在图像中的高度,进而可以确定目标楼块的标注信息中的标注框的最大的纵坐标的取值,确定的目标楼块的标注信息中的标注框的中心点的纵坐标小于应小于最大的纵坐标的取值。换言之,如果确定的目标楼块的标注信息中的标注框的中心点的纵坐标大于最大的纵坐标的取值,则可能出现目标楼块的标注信息中的标注框的部分在图像中超过目标楼块在图像中的最高高度的情况。

步骤204,将目标楼块的标注信息叠加在叠加区域,得到增强现实图像。

在本实施例中,在确定了每一个目标楼块的在用户的终端采集到的图像中的叠加区域即确定了每一个目标楼块的标注信息中的标注框在用户的终端采集到的图像中占据的区域之后,可以将目标楼块的标注信息叠加在确定出的叠加区域。换言之,是将每一个目标楼块的标注信息中的标注框设置在确定出的标注框在用户的终端采集到的图像中占据的区域。每一个目标楼块的至少部分位于用户的终端采集到的图像中,每一个目标楼块的标注框至少部分处在用户的终端采集到的图像中的其所属的目标楼块中的某一个区域。从而,用户的终端采集到的图像中包含每一个目标楼块的标注信息中的位于标注框中的目标楼块的名称和目标楼块与用户的距离,得到增强现实图像。由于确定出任意两个目标楼块的标注信息中的标注框在水平方向无重叠,任意两个目标楼块的标注信息中的标注框在垂直方向无重叠,相应地,在呈现给用户时,增强现实图像中的任意两个目标楼块的位于标注框中的目标楼块的名称和目标楼块与用户的距离也不会出现重叠。

请参考图3,作为对上述各图所示方法的实现,本申请提供了一种增强现实装置的一个实施例,该装置实施例与图2所示的方法实施例相对应。

如图3所示,本实施例的增强现实装置包括:获取单元301,生成单元302,确定单元303,呈现单元304。其中,获取单元301被配置为获取满足预设选取条件的多个楼块的轮廓数据,其中,所述轮廓数据用于描述楼块在三维空间中的轮廓;生成单元302被配置为基于多个楼块中的每一个楼块的投射线段,生成参考信息,其中,楼块的投射线段基于将楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面而得到,参考信息用于描述在水平方向多个楼块中的楼块之间是否存在遮挡以及当存在遮挡时的遮挡情况;确定单元303被配置为基于参考信息,确定多个楼块中的目标楼块和目标楼块的标注信息在用户的终端采集到的图像中的叠加区域;呈现单元304被配置为将目标楼块的标注信息叠加在确定出的叠加区域,得到增强现实图像。

在本实施例的一些可选的实现方式中,确定单元包括:第一目标楼块和叠加区域确定子单元,被配置为当参考信息包括指示在水平方向多个楼块中的与用户的距离最近的楼块完全遮挡所有其他的楼块的指示信息时,将多个楼块中的与用户的距离最近的楼块作为目标楼块;基于所述与用户的距离最近的楼块的投射线段的中心点,确定所述与用户的距离最近的楼块在所述图像中的叠加区域的中心点。

在本实施例的一些可选的实现方式中,确定单元包括:第二目标楼块和叠加区域确定子单元,被配置为当参考信息包括在水平方向多个楼块中的被至少一个楼块完全遮挡的楼块的标识和未被任意一个楼块完全遮挡的楼块的标识时,将在水平方向未被任意一个楼块完全遮挡的楼块确定为目标楼块;基于最近楼块与被次近楼块之间的第一遮挡关联情况,确定最近楼块的标注信息在所述图像中的叠加区域和次近楼块的标注信息在所述图像中的叠加区域,其中,最近楼块为所有目标楼块中与用户的距离最近的目标楼块,次近楼块为所有目标楼块中与用户的距离第二近的目标楼块;对于所有目标楼块中的除了最近楼块和次近楼块之外的每一个目标楼块,基于目标楼块与所述目标楼块的前一个目标楼块之间的第二遮挡关联情况,确定所述目标楼块的标注信息在所述图像中的叠加区域。

在本实施例的一些可选的实现方式中,第二目标楼块和叠加区域确定子单元进一步被配置为将最近楼块的投射线段的中心点的横坐标确定为最近楼块的标注信息在所述图像中的叠加区域的中心点的横坐标;当第一遮挡关联情况是预设遮挡关联情况时,将次近楼块的投射线段中对应于未被最近楼块遮挡的部分的子线段的中心点的横坐标确定为次近楼块的标注信息在所述图像中的叠加区域的中心点的横坐标,预设遮挡关联情况包括:次近楼块被最近楼块部分遮挡并且次近楼块的未被最近楼块遮挡的部分位于最近楼块的一侧;当第一遮挡关联情况不是预设遮挡关联情况时,将次近楼块的投射线段的中心点的横坐标确定为次近楼块的标注信息在所述图像中的叠加区域的中心点的横坐标。

在本实施例的一些可选的实现方式中,增强现实装置还包括:纵坐标确定单元,被配置为按照与用户的距离对所有目标楼块进行排序;基于排序后的每一个目标楼块的次序,确定每一个目标楼块的标注信息在所述图像中的叠加区域的中心点的纵坐标。

图4示出了适于实现本申请实施例的终端的计算机系统的结构示意图。

如图4所示,计算机系统包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有计算机系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

以下部件连接至I/O接口405:输入部分406;输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,本申请的实施例中描述的过程可以被实现为计算机程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包括用于执行流程图所示的方法的指令。该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。

本申请还提供了一种终端,该终端可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包含用以执行上述实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中描述的操作。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是终端中所包括的;也可以是单独存在,未装配入终端中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被终端执行时,使得终端:获取满足预设选取条件的多个楼块的轮廓数据,其中,所述轮廓数据用于描述楼块在三维空间中的轮廓;基于多个楼块中的每一个楼块的投射线段,生成参考信息,其中,楼块的投射线段基于将楼块在三维空间中的轮廓映射到用户的终端的屏幕所在的平面而得到,参考信息用于描述在水平方向多个楼块中的楼块之间是否存在遮挡以及当存在遮挡时的遮挡情况;基于参考信息,确定多个楼块中的目标楼块和目标楼块的标注信息在用户的终端采集到的图像中的叠加区域;将目标楼块的标注信息叠加在确定出的叠加区域,得到增强现实图像。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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