基于全景图像的三维显示方法和系统与流程

文档序号:20759680发布日期:2020-05-15 17:54阅读:331来源:国知局
基于全景图像的三维显示方法和系统与流程

本发明涉及计算机技术领域,具体地涉及一种基于全景图像的三维显示方法和系统。



背景技术:

随着计算机技术的发展,人们对人机交互的要求越来越高,要求计算机能提供更加真实丰富的场景信息,这时虚拟现实(virtualreality)技术就应运而生,虚拟现实技术是利用计算机技术模拟产生一个三维空间的虚拟世界,不仅能对我们生活中的环境进行数字再造,同时用户可以和计算机进行交互,在视觉上可以没有限制地观察三维空间内的事物,并能提供给我们视觉同步的听觉和触觉等感官的全方位体验。通过虚拟现实技术,用户在计算机上可以浏览风景区和校园等场景,也可以浏览尚未建成的住宅小区等场景,因此,虚拟现实技术有着非常广泛的应用场景,虚拟现实技术包括三维全景显示技术和三维建模显示技术,本专利主要针对三维全景显示技术。

目前,三维全景显示技术主要通过全景图像生成而来,全景图像泛指视角范围远远大于人们正常视角的二维图像,从本质上来讲,全景图像是依据某种几何关系对周围场景进行映射之后生成的二维图像,只有经过相应技术处理之后才能产生三维全景显示的效果。根据全景图像表示的空间范围可以分为柱型全景图像和球型全景图像两大类,在柱型全景图像三维显示中,浏览范围仅可以水平360°观察四周的场景,如果用鼠标和键盘进行上下拖动时,上下视野将受到限制,上看不到天顶,下看不到地底,在球型全景图像三维显示中,浏览范围可以达到水平360°和垂直180°,观察者位于球的中心,通过鼠标和键盘的操作,可以观察到任何一个角度,完全融入了虚拟现实环境中。球型全景图像所具有的特点是全方位、实景和360°环视,全方位即全面展示了水平360°和垂直180°范围内的所有场景,实景即利用真实场景的照片拼接得到的图像,可以最大限度的保留场景的真实性,360°环视即全景图像虽然是二维图像,但是通过相应技术处理进行三维显示,能产生三维立体效果,使观察者犹如身临其境。全景图像的三维全景显示实现过程主要包括三个阶段,第一阶段是利用鱼眼镜头或普通镜头拍摄周围场景,利用全景拼接算法进行拼接处理,得到球型全景图像,球型全景图像的分辨率的约束条件为宽度是高度的两倍,第二阶段是利用空间映射算法将全景图像转换成立方体六面图像,第三阶段是利用纹理映射原理将立方体六面图像进行三维显示,第二阶段和第三阶段目前国内外采用krpano和pano2vr等工具或者使用画中游算法去处理,本专利采用基于全景图像的三维显示方法去实现。

基于全景图像所产生的三维立体效果是建立在真实照片的基础之上的,依靠拍摄技巧或三维建模的方法根本无法达到与全景图像同样的效果,一般图像的视角有限,可观察的范围小,同时也不具备立体效果,而全景图像不但可以全方位的观察而且还有三维立体的感觉,给人以沉浸感,虽然通过三维建模的方法制作的场景的立体感和沉浸感比全景图像要强一些,但是三维建模在场景制作的过程中所花费的人力物力远远大于全景图像的制作过程,而全景图像的拍摄和制作过程所要求的数据量很小,对系统的要求也较低,从而适合各种方式,各种终端设备上观看,所以全景图像不但可以全方位的记录某时某地的真实场景信息,而且还可以用三维立体的方式表现给观察者,一般图像和三维建模的方法根本无法达到如此高的性价比的展示方式,当某个场景需要真实、直观和全面的展现给观察者时,全景图像无疑是最好的选择。

因此,提供一种可以将全景图像转换成三维显示,以综合两者各自特点的基于全景图像的三维显示方法和系统是本发明亟需解决的问题。



技术实现要素:

针对上述问题,本发明的目的是克服现有技术中的全景图像和三维显示图像两者之间各自都有的缺点,无法综合两者各自优点的问题,从而提供一种可以将全景图像转换成三维显示,以综合两者各自特点的基于全景图像的三维显示方法和系统。

为了实现上述目的,本发明实施例提供一种基于全景图像的三维显示方法,所述方法包括:

获取全景图像;

将所述全景图像通过空间映射转换成立方体六面图像;

将所述立方体六面图像转换成三维全景显示图像。

优选地,所述将所述全景图像通过空间映射转换成立方体六面图像包括以下步骤:

将所述全景图像的图像空间映射到[-sin(π/4),sin(π/4)]平面空间;

将所述[-sin(π/4),sin(π/4)]平面空间映射到球体坐标空间;

将所述球体坐标空间映射到纹理空间;

利用所述纹理空间的坐标点为映射参数,对全景图像进行重映射处理,得到全景图像的立方体六面图像。

优选地,所述将所述全景图像的图像空间映射到[-sin(π/4),sin(π/4)]平面空间的映射公式为:

xmap=(x/width-0.5)×2.0×sin(π/4)

ymap=(y/height-0.5)×2.0×sin(π/4)

其中,xmap、ymap分别表示[-sin(π/4),sin(π/4)]平面空间的坐标点,x、y分别表示立方体六面图像的坐标点,width表示立方体六面图像的宽度,height表示立方体六面图像的高度,π为圆周率。

优选地,所述将所述[-sin(π/4),sin(π/4)]平面空间映射到球体坐标空间中的映射公式为:

在针对所述立方体六面中前面、后面、左面和右面的所述映射公式为:

u=atan2(ymap,cos(π/4));

v=atan2(xmap×cos(u),cos(π/4))

其中,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率;

在针对所述立方体六面中顶面的所述映射公式为:

d=sqrt(xmap×xmap+ymap×ymap);

u=atan2(-xmap,ymap);

v=-π/2.0+atan2(d,cos(π/4.0));

其中,d表示xmap、ymap之间的距离,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率;

在针对所述立方体六面中顶面的所述映射公式为:

d=sqrt(xmap×xmap+ymap×ymap)

u=atan2(xmap,ymap)

v=π/2.0-atan2(d,cos(π/4.0))

其中,d表示xmap、ymap之间的距离,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率。

优选地,所述将所述球体坐标空间映射到纹理空间的映射公式为:

utexture=((u/π)/2.0+0.5)*(inwidth-1)

vtexture=((v/(π/2.0))/2.0+0.5)*(inheight-1)

其中,u、v表示球体坐标空间的坐标点,utexture、vtexture表示纹理空间的坐标点,inwidth表示全景图像的宽度,inheight表示全景图像的高度,π为圆周率。

优选地,所述利用所述纹理空间的坐标点为映射参数,对全景图像进行重映射处理,得到全景图像的立方体六面图像包括:以utexture、vtexture为映射参数,利用双线性插值算法对全景图像进行重映射处理,得到全景图像的立方体六面图像。

优选地,所述将所述立方体六面图像转换成三维全景显示图像包括以下步骤:

建立以立方体中心为视角点的立方体;

将所述生成立方体六面图像分别映射到相应的立方体六个面上,并通过鼠标和键盘进行人机交互,以实现三维全景显示。

本发明还提供了一种基于全景图像的三维显示系统,所述系统包括:

图像获取模块1,用于获取全景图像;

第一映射模块,用于将所述全景图像通过空间映射转换成立方体六面图像;

第二映射模块2,用于将所述立方体六面图像转换成三维全景显示图像。

根据上述方案3,本发明提供的基于全景图像的三维显示方法在使用时的有益效果为:可以先获取全景图像,然后将所述全景图像转换成三维全景显示图像,从而以综合全景图像和三维显示图像各自特点,在达到三维全景显示图像显示特点的情况下,可以达到拍摄和制作过程所要求的数据量很小,对系统的要求也较低,从而适合各种方式,各种终端设备上观看的特点。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明的一种优选的实施方式中提供的基于全景图像的三维显示方法的流程图;

图2是本发明的一种优选的实施方式中提供的基于全景图像的三维显示系统的结构图。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

方法实施例:如图1所示,本发明提供了一种基于全景图像的三维显示方法,所述方法包括:

获取全景图像;

将所述全景图像通过空间映射转换成立方体六面图像;

将所述立方体六面图像转换成三维全景显示图像。

在上述方案中,本发明提供的基于全景图像的三维显示方法可以先获取全景图像,然后将所述全景图像转换成三维全景显示图像,从而以综合全景图像和三维显示图像各自特点,在达到三维全景显示图像显示特点的情况下,可以达到拍摄和制作过程所要求的数据量很小,对系统的要求也较低,从而适合各种方式,各种终端设备上观看的特点。

在本发明的一种优选的实施方式中,所述将所述全景图像通过空间映射转换成立方体六面图像包括以下步骤:

将所述全景图像的图像空间映射到[-sin(π/4),sin(π/4)]平面空间;

将所述[-sin(π/4),sin(π/4)]平面空间映射到球体坐标空间;

将所述球体坐标空间映射到纹理空间;

利用所述纹理空间的坐标点为映射参数,对全景图像进行重映射处理,得到全景图像的立方体六面图像。

在本发明的一种优选的实施方式中,所述将所述全景图像的图像空间映射到[-sin(π/4),sin(π/4)]平面空间的映射公式为:

xmap=(x/width-0.5)×2.0×sin(π/4);

ymap=(y/height-0.5)×2.0×sin(π/4)

其中,xmap、ymap分别表示[-sin(π/4),sin(π/4)]平面空间的坐标点,x、y分别表示立方体六面图像的坐标点,width表示立方体六面图像的宽度,height表示立方体六面图像的高度,π为圆周率。

在上述方案中可以实现全景图像的图像空间映射到[-sin(π/4),sin(π/4)]平面空间的效果。

在本发明的一种优选的实施方式中,所述将所述[-sin(π/4),sin(π/4)]平面空间映射到球体坐标空间中的映射公式为:

在针对所述立方体六面中前面、后面、左面和右面的所述映射公式为:

u=atan2(ymap,cos(π/4));

v=atan2(xmap×cos(u),cos(π/4))

其中,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率;

在针对所述立方体六面中顶面的所述映射公式为:

d=sqrt(xmap×xmap+ymap×ymap);

u=atan2(-xmap,ymap);

v=-π/2.0+atan2(d,cos(π/4.0));

其中,d表示xmap、ymap之间的距离,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率;

在针对所述立方体六面中顶面的所述映射公式为:

d=sqrt(xmap×xmap+ymap×ymap)

u=atan2(xmap,ymap)

v=π/2.0-atan2(d,cos(π/4.0))

其中,d表示xmap、ymap之间的距离,u、v表示球体坐标空间的坐标点,xmap、ymap表示[-sin(π/4),sin(π/4)]平面空间的坐标点,π为圆周率。

在上述方案中,

5、根据权利要求2所述的基于全景图像的三维显示方法,其特征在于,所述将所述球体坐标空间映射到纹理空间的映射公式为:

utexture=((u/π)/2.0+0.5)*(inwidth-1)

vtexture=((v/(π/2.0))/2.0+0.5)*(inheight-1)

其中,u、v表示球体坐标空间的坐标点,utexture、vtexture表示纹理空间的坐标点,inwidth表示全景图像的宽度,inheight表示全景图像的高度,π为圆周率。

在本发明的一种优选的实施方式中,所述利用所述纹理空间的坐标点为映射参数,对全景图像进行重映射处理,得到全景图像的立方体六面图像包括:以utexture、vtexture为映射参数,利用双线性插值算法对全景图像进行重映射处理,得到全景图像的立方体六面图像。

在本发明的一种优选的实施方式中,所述将所述立方体六面图像转换成三维全景显示图像包括以下步骤:

建立以立方体中心为视角点的立方体;

将所述生成立方体六面图像分别映射到相应的立方体六个面上,并通过鼠标和键盘进行人机交互,以实现三维全景显示。

装置实施例

如图2所示,本发明还提供了基于全景图像的三维显示系统,其特征在于,所述系统包括:

图像获取模块,用于获取全景图像;

第一映射模块,用于将所述全景图像通过空间映射转换成立方体六面图像;

第二映射模块,用于将所述立方体六面图像转换成三维全景显示图像。

综上所述,本发明提供的一种基于全景图像的三维显示方法和系统综合全景图像和三维显示图像各自特点,在达到三维全景显示图像显示特点的情况下,可以达到拍摄和制作过程所要求的数据量很小,对系统的要求也较低,从而适合各种方式,各种终端设备上观看的特点克服现有技术中的全景图像和三维显示图像两者之间各自都有的缺点,无法综合两者各自优点的问题。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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