一种利用坐标变换编辑VR影像的方法与流程

文档序号:14594567发布日期:2018-06-05 03:49阅读:305来源:国知局

本发明涉及VR图像编辑领域,具体涉及一种利用坐标变换编辑VR影像的方法。



背景技术:

HTC,Oculus,SONY三大头部显示器的相继发售,让2016年成为VR元年。VR技术经过几十年的飞速发展,涉及包括军事航天、应急演练、广电广播和娱乐悠闲等众多领域。VR的成像原理主要为用VR眼镜等设备,将360度全景视图投射至人眼中,再利用左右眼视觉的差异形成3D的效果。

在广电媒体行业中,存在着对VR影像编辑的需求。但VR的全景图片与普通图片不同的是,VR全景图片是经过多张图片经过处理拼接而成的,普通图像是真实世界的一个截面,而VR全景图却与真实世界存在差异。人眼需要借助VR眼镜或头部显示器,才能观看VR影像。所以使用常规方法编辑VR影像是不可行的。因此在VR视频的实现中,各种坐标系的之间的转换显得尤为重要。

例如在古装的VR影像片段拍摄的过程中,会乱入一些现代的标识标牌进去,如果重新拍摄会耗费大量的工作,我们希望在VR影像中用平整的矩形框地遮盖这些标识标牌,如果直接在全景平面上的对应区域贴矩形框,该区域在VR影像中便会是奇奇怪怪的其他形状,会使该区域失去原有的立体感和沉浸感,与我们的初衷背道而驰。这显然无法满足广电媒体行业的在VR技术上的需求。这种需求在实际VR影响拍摄处理过程中较多,比如我们的VR影像拍摄结束后,要临时加入一些其他广告元素或者一些图像想进行替换和修改。

同时现有相关技术中基本没有涉及到对VR影像处理,但是VR影像通常由无人机拍摄,拍摄过程中难免会出现一些瑕疵点,如何对VR影像进行后期处理编辑是不可避免的一个问题,在编辑过程中除了要保持该区域原有的立体感和沉浸感,还需要考虑一些其他问题,比如如何保证用于替换这些标识标牌的图像在VR影像中的清晰度达标,图像与周围的融合效果更好,更逼真,这些都是VR影像编辑过程中需要解决的难题。



技术实现要素:

本发明的目的在于:针对现有技术中由于直接对VR全景图进行贴矩形框处理而造成VR全景图该区域失去原有的立体感的问题,本发明提出了一种利用坐标变换编辑VR影像的方法。

为了达到上述目的,本发明一方面提供了一种利用坐标变换编辑VR影像的方法,具体采用的技术方案如下:

一种利用坐标变换编辑VR影像的方法,包括以下步骤:

步骤1:建立三维坐标系,并在三维坐标系中构建三维球面,将待编辑VR全景图映射到三维球面上;

所述步骤1的具体步骤为:

步骤1.1:建立三维坐标系,在三维坐标系中构建三维球面;

上述方案中,所述步骤1.1的具体步骤为:

步骤1.1.1:以摄像机为坐标原点,建立三维坐标系;

步骤1.1.2:以摄像机的焦距为球面半径建立三维球面;

步骤1.2:将待编辑VR全景图转化为纹理图;

步骤1.3:将步骤1.2中的纹理图映射到三维球面上。

步骤2:确定步骤1处理后的待编辑VR全景图的图像编辑参数,并利用图像编辑参数确定待编辑VR全景图在三维坐标系上的投影平面;

上述方案中,所述步骤2的具体步骤为:

步骤2.1:获得图像编辑参数,图像编辑参数包括摄像机的焦距、摄像机的张角、摄像机的旋转角度和仰视角度;

步骤2.2:根据步骤2.1中的张角、旋转角度、仰视角度获得待编辑VR全景图在三维坐标系上的投影平面;

步骤3:对步骤2中的投影平面进行坐标变换得到待编辑VR全景图的三维坐标;

上述方案中,所述步骤3的具体步骤为:

步骤3.1:获得待编辑VR全景图与投影平面之间的比例关系;

步骤3.2:根据摄像机的仰视角度、比例关系和投影平面坐标获得仰视角度下的待编辑VR全景图坐标;

步骤3.3:根据步骤3.2的仰视角度下的待编辑VR全景图坐标和摄像机的旋转角度获得待编辑VR全景图的三维坐标;

上述方案中,更进一步地,

步骤3.1:获得待编辑VR全景图与投影平面之间的比例关系c为:

c=r×tan(e/2)×2/nH

其中r为三维球面半径,即摄像机的焦距f;e为摄像机的张角,nH投影平面在Y轴方向的高度;

步骤3.2:根据摄像机的仰视角度a及比例关系c并根据投影平面坐标(x,y)获得仰视角度下的待编辑VR全景图坐标(x0,y0,z0)为:

x0=-c×(nW/2-x)

y0=r×sin(a)+c×(nH/2.0-×cos(a)

z0=-r×cos(a)+c×(nH/2.0-y)×sin(a)

nw为投影平面在X轴方向的宽度,a为摄像机的仰视角度,nH投影平面在Y轴方向的高度;

步骤3.3:根据步骤3.2的仰视角度下的待编辑VR全景图坐标和摄像机的旋转角度获得待编辑VR全景图的三维坐标(x3,y3,z3)为:

x3=x0×cos(b)+z0×sin(b)

y3=y0

z3=z0×cos(b)-x0×sin(b)

其中b为摄像机的旋转角度。

步骤4:在三维坐标中对待编辑VR全景图进行编辑得到编辑后的VR全景图;

所述步骤4的具体步骤为:

步骤4.1:将待编辑VR全景图进行缩放得到在三维坐标中的标准待编辑VR全景图;

步骤4.2:对标准待编辑VR全景图进行编辑得到编辑后的VR全景图;

上述方案中4.2的具体步骤为:

步骤4.2.1:将步骤4.1中的标准待编辑VR全景图进行细分成小四边形;

步骤4.2.2:对步骤4.2.1中的小四边形分别进行编辑得到编辑后的VR全景图。

上述方案中,所述步骤4在三维坐标中对待编辑VR全景图进行编辑得到编辑后的VR全景图中的编辑包括替换贴图处理。

为了达到上述目的,本发明从另一方面提供了一种坐标变换的方法,具体技术方案如下:

步骤1:建立三维坐标系,并在三维坐标系确立三维球面;

步骤2:将三维图像映射到三维球面上,获得图像编辑参数,图像编辑参数包括摄像机的张角、焦距参数、摄像机的旋转角度和摄像机的仰视角度,并根据三维图像以及图像编辑参数获得三维图像在三维坐标系中的投影平面;

步骤3:根据图像编辑参数得到投影平面对应的三维图像的坐标;

上述方案中,所述步骤3的具体步骤为:

步骤3.1:获得三维图像与投影平面之间的比例关系;

步骤3.2:根据摄像机的仰视角度及比例关系并根据投影平面坐标获得摄像机的仰视角度下的三维图像坐标;

步骤3.3:根据摄像机的旋转角度和步骤3.2的仰视角度下的三维图像坐标获得三维图像的坐标。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明中通过将VR全景图安置在虚拟的三维球面上,并通过确定VR全景图的投影平面进而获得VR全景图在三维坐标系中的坐标,即可以直接在三维坐标中对VR全景图进行编辑,获得最终编辑后的VR全景图,本发明使得最终获得的编辑图像的成像效果较好,相对于现有的直接在全景平面上对图像进行编辑的方式,本发明最终获得编辑后的VR全景图的立体感和沉浸感更好,能够使得用户体验到更好的VR成像效果;

2.本发明中还提供了一种将单个二维图像转换成三维坐标下图像的方法,克服了现有的需要两种不同角度的同一物体的照片才能转换成三维坐标下的图像的技术壁垒;

3.本发明还通过将待编辑VR全景图进行缩放和细化处理,获得了效果更加逼真的VR全景图,克服了在编辑VR全景图过程中难以保持被编辑部分的逼真效果的难题;

4.本发明适用于对单张VR全景图的局部编辑,同时也适用于对VR影视中的每帧图像的编辑。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1是本发明的整体流程图;

图2是本发明的三维球面坐标系示意图;

图3是本发明的各平面坐标与遮挡平面的示意图;

图4是本发明的获取待编辑VR全景图与投影平面之间的比例的原理示意图;

图5是本实施例二中的VR全景图;

图6是本实施例二VR全景图的待编辑部分在三维球面上的投影平面图;

图7是本实施例二中原贴图示意图;

图8是本实施例二中H面示意图;

图9是本实施例二中H面和原贴图的像素对应示意图;

图10是本实施例二编辑后的贴图效果图;

图11是本实施例二的编辑后的VR全景图效果图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种利用坐标变换编辑VR影像的方法,包括以下步骤:

步骤1:建立三维坐标系,并在三维坐标系中构建三维球面,将待编辑VR全景图映射到三维球面上;

所述步骤1的具体步骤为:

步骤1.1:建立三维坐标系,在三维坐标系中构建三维球面;

上述方案中,所述步骤1.1的具体步骤为:

步骤1.1.1:以摄像机为坐标原点,建立三维坐标系;

步骤1.1.2:以摄像机的焦距为球面半径建立三维球面;

步骤1.2:将待编辑VR全景图转化为纹理图;

步骤1.3:将步骤1.2中的纹理图映射到三维球面上。

步骤2:确定步骤1处理后的待编辑VR全景图的图像编辑参数,并利用图像编辑参数确定待编辑VR全景图在三维坐标系上的投影平面;

上述方案中,所述步骤2的具体步骤为:

步骤2.1:获得图像编辑参数,图像编辑参数包括摄像机的焦距、摄像机的张角、摄像机的旋转角度和仰视角度;

步骤2.2:根据步骤2.1中的张角、旋转角度及仰视角度获得确定待编辑VR全景图在三维坐标系上的投影平面;

步骤3:对步骤2中的投影平面进行坐标变换得到待编辑VR全景图的三维坐标;

上述方案中,所述步骤3的具体步骤为:

步骤3.1:获得待编辑VR全景图与投影平面之间的比例关系;

步骤3.2:根据摄像机的仰视角度、比例关系和投影平面坐标获得仰视角度下的待编辑VR全景图坐标;

步骤3.3:根据步骤3.2的仰视角度下的待编辑VR全景图坐标和摄像机的旋转角度获得待编辑VR全景图的三维坐标;

上述方案中,更进一步地,

步骤3.1:获得待编辑VR全景图与投影平面之间的比例关系c为:

c=r×tan(e/2)×2/nH

其中r为三维球面半径,即摄像机的焦距f;e为摄像机的张角,nH投影平面在Y轴方向的高度;

步骤3.2:根据摄像机的仰视角度a及比例关系c并根据投影平面坐标(x,y)获得仰视角度下的待编辑VR全景图坐标(x0,y0,z0)为:

x0=-c×(nW/2-x)

y0=r×sin(a)+c×(nH/2.0-×cos(a)

z0=-r×cos(a)+c×(nH/2.0-y)×sin(a)

nw为投影平面在X轴方向的宽度,a为摄像机的仰视角度,nH投影平面在Y轴方向的高度;

步骤3.3:根据步骤3.2的仰视角度下的待编辑VR全景图坐标和摄像机的旋转角度获得待编辑VR全景图的三维坐标(x3,y3,z3)为:

x3=x0×cos(b)+z0×sin(b)

y3=y0

z3=z0×cos(b)-x0×sin(b)

其中b为摄像机的旋转角度;

步骤4:在三维坐标中对待编辑VR全景图进行编辑得到编辑后的VR全景图;

所述步骤4的具体步骤为:

步骤4.1:将待编辑VR全景图进行缩放得到在三维坐标中的标准待编辑VR全景图;

步骤4.2:对标准待编辑VR全景图进行编辑得到编辑后的VR全景图;

上述方案中4.2的具体步骤为:

步骤4.2.1:将步骤4.1中的标准待编辑VR全景图进行细分成小四边形;

步骤4.2.2:对步骤4.2.1中的小四边形分别进行编辑得到编辑后的VR全景图。

上述方案中,所述步骤4在三维坐标中对待编辑VR全景图进行编辑得到编辑后的VR全景图中的编辑包括替换贴图处理。

为了达到上述目的,本发明从另一方面提供了一种坐标变换的方法,具体技术方案如下:

步骤1:建立三维坐标系,并在三维坐标系确立三维球面;

步骤2:将三维图像映射到三维球面上,获得图像编辑参数,图像编辑参数包括摄像机的张角、焦距参数、摄像机的旋转角度和摄像机的仰视角度,并根据三维图像以及图像编辑参数获得三维图像在三维坐标系中的投影平面;

步骤3:根据图像编辑参数得到投影平面对应的三维图像的坐标;

上述方案中,所述步骤3的具体步骤为:

步骤3.1:获得三维图像与投影平面之间的比例关系;

步骤3.2:根据摄像机的仰视角度、比例关系和投影平面坐标获得摄像机的仰视角度下的三维图像坐标;

步骤3.3:根据摄像机的旋转角度及步骤3.2的仰视角度下的三维图像坐标获得三维图像的坐标。

实施例一

本实施例结合附图对本发明的技术方案进行详细说明:

步骤1:建立三维坐标系,并在三维坐标系中构建三维球面,将待编辑VR全景图映射到三维球面上;

具体说明:

在虚拟空间中建立三维坐标系,本实施例建立的是左手坐标系,同时在坐标系中构建三维球面,将需要编辑的VR全景图(可能是整个VR全景图的编辑或者局部编辑)转换成纹理,再映射到三维球面上;

关于如何建立三维球面:将摄像机(这里指的是选取的虚拟摄像机)设定为原点O,摄像机的焦距f即摄像机和成像平面的距离为三维球面的半径r,获得三维球面,以水平方向为X轴,竖直方向为Y轴,如图2所示,其中P'即为待编辑的VR全景图映射到三维球面的面,而待编辑的VR全景图的投影平面定义为P,P平面中心与O点连线始终与P平面垂直,即该连线始终在球面的某一半径方向,P'为P平面在三维球面上的原平面,当观察者观察P'平面时,他在屏幕上实际观察到的是P;

步骤2:确定待编辑VR全景图的图像编辑参数,并利用图像编辑参数确定待编辑VR全景图在三维坐标系上的投影平面;

具体说明:

确定摄像机的张角e,张角e是摄像机捕获最上面的光线与最下面的光线之间的夹角,决定某次观察垂直方向的高度,张角e以及摄像机的焦距f都是摄像机观察过程中的固定参数,根据编辑需求,取摄像机的旋转角度为b(控制水平视角),仰视角度a(控制垂直角度),则可以确定投影平面P(实际上确定了屏幕投影平面P在三维坐标中的具体坐标);

步骤3:对步骤2中的投影平面(指的是投影平面上的坐标点,每个坐标点都可以进行相应的转换)进行坐标变换得到待编辑VR全景图的三维坐标;

取投影平面P的点(x,y)进行坐标变换得到三维球面上P'上的点(x3,y3,z3);

具体如何变换:

步骤3.1:获得待编辑VR全景图与投影平面之间的比例关系c;

参考图4,投影平面是二维平面也可以理解为像素平面,待编辑VR全景图是三维平面也可以理解为物理尺寸,那么从O点出发,其中AB即为待编辑VR全景图的物理尺寸也就是在Y轴方向上的高度,OA所在平面即观察视线的上边界,OB所在平面即观察视线的下边界,OC所在为水平视线;ACB所在位置为投影面。

利用张角e可以获得二维平面垂直方向的高度,那么就进而可以获得nH为投影平面在Y轴方向的高度,进而可以获得待编辑VR全景图与投影平面之间的比例关系c:

c=r×tan(e/2)×2/nH

其中,nH投影平面在Y轴方向的高度,而(r*tan(e/2)*2)为VR全景图的物理尺寸也就是在Y轴方向上的高度,即对应图4中AB;

步骤3.2:只考虑仰视角度a,即只考虑二维平面坐标点(x,y)在仰视角度下获得仰视角度下的三维图像(x0,y0,z0),具体计算过程如下:

x0=-c×(nW/2-x)

y0=r×sin(a)+c×(nH/2.0-×cos(a)

z0=-r×cos(a)+c×(nH/2.0-y)×sin(a)

其中,nw为投影平面在X轴方向的宽度;

步骤3.3:再考虑仰视角度下的三维图像(x0,y0,z0)围绕y轴旋转角b,计算对应三维点坐标(x3,y3,z3),点(x3,y3,z3)投影平面上任一点(x,y)在空间球面上对应的点坐标,计算过程如下:

x3=x0×cos(b)+z0×sin(b)

y3=y0

z3=z0×cos(b)-x0×sin(b)

步骤4:在三维坐标中对待编辑VR全景图进行编辑得到编辑后的VR全景图;

具体说明步骤4:

为了构造贴图纹理,这里将空间球面上的三维点(x3,y3,z3)往视线方向前移(即缩放),得到所需的最终贴图面的三维坐标(Px,Py,Pz),将空间球面上原三维平面的三维点(x3,y3,z3)沿视线方向前移,直到构成的贴图面为原三维平面的0.7,贴图面三维坐标计算过程如下:

pa=asin(y3/sqrt(x3×x3+y3×y3+z3×z3))

pb=acos(x3/sqrt(x3×x3+z3×z3))

px=r×0.7×cos(pa)×cos(pb)

py=r×0.7×sin(pa)

pz=-r×0.7×cos(pa)×sin(pb)

注:Pa为观察者目光线与水平面的夹角;Pb为观察者目光线与竖直面的夹角;计算P坐标时乘于0.7是因为将原曲面缩小了30%;

即如附图3所示的,H就是最终贴图面(也就是上述中的标准待编辑VR全景图),其二维平面上的点在最终贴图面上的点为三维坐标(Px,Py,Pz);

如图7-9所示,为了使贴图效果形象逼真,尽量细分贴图平面,切分成许多足够小的三角形面,每一个三角形面则单独构成细小纹理,具体如下:

如图7所示是用于替换H面的原贴图,将原贴图划分为足够多的细小平面,细小平面最终决定了纹理效果;

由于待编辑VR全景图映射到三维球面的时候,局部会有一定的拉伸或者形变,所以原贴图不一定能与H面大小和位置刚好对应,所以在用原贴图对H面进行替换的时候,需要对原贴图根据实际情况进行一定的处理,原贴图经过的细小平面可能需要经过局部的变换(主要包括拉伸、旋转等操作)处理才能与H面的大小和位置等相互对应。当然这里并不是直接将整个原贴图进行变换,因为直接对原贴图进行整体变化得出的图形效果难以保证,因此本实施中是对原贴图面上每一个细小四边形变换成与H面相对应的的细小平面,将H面(也就是最终的贴图面)划分,划分得到的细小平面的数量需与原贴图划分得到的平面数量一致,再对原贴图的细小平面经过上述的局部的变换(主要包括拉伸和旋转操作)之后,原贴图与H曲面之间就能够一一对应,划分空间曲面H如图8所示;

下面具体对原贴图替换H面的过程进行说明:将H面区域内的每个个细小平面对应至原贴图区域内的细小平面,每个细小平面内的像素点也一一对应,那前者区域内每一像素点的RGB值便等于后者区域内的对应像素点。每一细小平面内的像素点K位置对应关系如图9所示,根据对应关系(对应关系依据四边经过拉伸与旋转之后不会改变四边形内部点的比例位置),便可从H曲面上每一细小区域出发,得到所有像素点的对应RGB值,一个区域内的所有像素点便由GPU渲染成一个细小纹理(注意应将纹理对应的四边形切分成两个三角形传入GPU,因为GPU一般是以细小平面为单位做渲染的,而四边形往往在空间中表现为曲面),这些细小纹理的集合就是最后所需的贴图纹理。

然后将原贴图的细小平面一一对应替换到最终贴图面H上,即完成了对VR全景图的编辑。

实施例二

在实施例一的基础上,图5是没有进行处理的VR全景图,本实施例筛选了VR全景图(见图5)的某一部分进行贴图处理,VR全景图的待编辑部分在在三维球面上的投影平面图见图6,图10是对投影平面图对应的三维图进行处理后的效果图,最后再获得编辑后的整体VR全景图见图11;

对具体的VR全景图进行上述的贴图处理之后,发现贴图效果回归于全景图中的效果良好,因为不论观察哪一个投影平面,贴图都已经完整地遮盖了原图像,说明本方案处理效果满足了贴图需求。

实施例三

本实施例具体说明了一种坐标变换方法,具体如下:

步骤1:建立三维坐标系,并在三维坐标系确立三维球面;

步骤2:将三维图像映射到三维球面上,获得图像编辑参数包括摄像机的张角、焦距参数、摄像机的旋转角度和摄像机的仰视角度,并根据三维图像以及图像编辑参数获得三维图像在三维坐标系中的投影平面;

步骤3:根据图像编辑参数得到投影平面对应的三维图像的坐标。

步骤3.1:获得三维图像与投影平面之间的比例关系c;

c=r×tan(e/2)×2/nH

其中r为三维球面半径,即摄像机的焦距f;e为摄像机的张角,nH投影平面在Y轴方向的高度;

步骤3.2:根据摄像机的仰视角度及比例关系并根据投影平面坐标获得摄像机的仰视角度下的三维图像坐标;

x0=-c×(nW/2-x)

y0=r×sin(a)+c×(nH/2.0-×cos(a)

z0=-r×cos(a)+c×(nH/2.0-y)×sin(a)

nw为投影平面在X轴方向的宽度,a为摄像机的仰视角度,nH投影平面在Y轴方向的高度,x为投影平面上点的横坐标,y为投影平面上点的纵坐标,x0为投影平面对应摄像机的仰视角度下三维坐标系上的x轴的坐标,y0为投影平面对应摄像机的仰视角度下三维坐标系上的y轴坐标,z0为投影平面对应摄像机的仰视角度下三维坐标系上的z轴坐标;

步骤3.3:根据摄像机的旋转角度及步骤3.2的仰视角度下的三维图像坐标获得三维图像的坐标:

x3=x0×cos(b)+z0×sin(b)

y3=y0

z3=z0×cos(b)-x0×sin(b)

其中b为摄像机的旋转角度,x3是投影平面对应三维坐标系上的x轴的坐标,y3是投影平面对应三维坐标系上的y轴的坐标;z3投影平面对应三维坐标系上的z轴的坐标。

本实施例并实现了二维坐标向三维坐标变换的过程,并且实现了由单个图像变换三维图像的过程,对于后续VR全景图的编辑发展有重要意义。

其中应当说明的是,上述内容中提到的摄像机并不一定指的是真实的摄像机,以及对应的焦距以及仰角以及转角,都是根据实际编辑需要进行设定的参数;其中上述中的待编辑VR全景图表示的可以是整个图像都需要进行编辑的VR全景图,也可以是局部需要编辑的VR全景图;其中应当说明的是当确定投影平面的时候,就确定了投影平面上的所有点的坐标,所以本发明中对于平面和坐标并没有严格的区分,在某些情况下,坐标可以等同于平面;附图中的,三维球面图也就是上述的三维球面;屏幕投影平面就是上述的投影平面;妥善编辑的360度全景图就是上述的编辑后的VR全景图,VR360度全景图就是待编辑的VR全景图;

其中应当说明的是,三维坐标系可以是右手坐标系也可以是左手坐标系,上述实施例是以左手坐标系为例,但是并不限于左手坐标系,当采用右手坐标系的时候,处理方法等与左手坐标系并无实质区别。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

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