三维图像处理方法、装置、存储介质和计算机设备与流程

文档序号:13423178阅读:190来源:国知局
三维图像处理方法、装置、存储介质和计算机设备与流程

本发明涉及图像处理技术领域,特别是涉及一种三维图像处理方法、装置、存储介质和计算机设备。



背景技术:

随着移动终端的不断普及,越来越多的人使用移动终端进行拍照和摄影,为满足用户对拍摄的需求,提高拍照趣味性,各种拍照应用应运而生,提供如美化图片、在图片中添加ar(augmentedreality,增强现实)元素等功能。

传统的提供ar元素的功能,绘制的ar元素一般在图像的固定位置,展现方式固定,导致添加的ar元素不能与移动终端拍摄的真实场景对应的图片元素很好的融合,影响整体图片的真实性。



技术实现要素:

基于此,有必要针对上述问题,提供一种三维图像处理方法、装置、存储介质和计算机设备,能够在图像采集设备发生偏转时,根据偏转后的图像采集设备位置坐标和方向向量等信息得到图像采集设备偏转后增强现实元素对应的纹理顶点坐标并形成对应的三维图像,实现移动终端转动带动图像采集设备转动时,增强现实元素对应的三维图像做相应的转动,增加增强现实元素对应的三维图像与真实背景图片的融合度,从而提高图片的真实性。

一种三维图像处理方法,所述方法包括:

在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量;

根据所述当前图像采集设备位置坐标、所述第一方向向量和所述第二方向向量利用视图转换算法得到透视矩阵;

获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离;

根据所述近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;

将所述透视矩阵与所述投影矩阵相乘得到变换矩阵,将所述变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到所述增强现实元素对应的纹理目标顶点坐标;

根据所述纹理目标顶点坐标渲染所述增强现实元素生成三维图像。

一种三维图像处理装置,所述装置包括:

透视矩阵生成模块,用于在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量,根据所述当前图像采集设备位置坐标、所述第一方向向量和所述第二方向向量利用视图转换算法得到透视矩阵;

投影矩阵生成模块,用于获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离,根据所述近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;

目标顶点坐标生成模块,用于将所述透视矩阵与所述投影矩阵相乘得到变换矩阵,将所述变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到所述增强现实元素对应的纹理目标顶点坐标;

渲染模块,用于根据所述纹理目标顶点坐标渲染所述增强现实元素生成三维图像。

一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行以下步骤:在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量;根据所述当前图像采集设备位置坐标、所述第一方向向量和所述第二方向向量利用视图转换算法得到透视矩阵;获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离;根据所述近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;将所述透视矩阵与所述投影矩阵相乘得到变换矩阵,将所述变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到所述增强现实元素对应的纹理目标顶点坐标;根据所述纹理目标顶点坐标渲染所述增强现实元素生成三维图像。

一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量;根据所述当前图像采集设备位置坐标、所述第一方向向量和所述第二方向向量利用视图转换算法得到透视矩阵;获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离;根据所述近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;将所述透视矩阵与所述投影矩阵相乘得到变换矩阵,将所述变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到所述增强现实元素对应的纹理目标顶点坐标;根据所述纹理目标顶点坐标渲染所述增强现实元素生成三维图像。

上述三维图像处理方法、装置、存储介质和计算机设备,根据获取到的图像采集设备当前在世界坐标系中的位置坐标、垂直于图像采集设备成像装置平面的第一方向向量以及平行于图像采集设备成像装置平面的第二方向向量,利用视图转换算法得到透视矩阵,根据获取的图像采集设备坐标系中预设的近平面顶点坐标、近平面距离、远平面距离利用投影转换算法得到投影矩阵,然后利用透视矩阵和投影矩阵相乘得到变换矩阵,将变换矩阵与增强现实元素对应的纹理初始顶点坐标相乘得到纹理目标顶点坐标,从而根据纹理目标顶点坐标渲染增强现实元素生成对应的三维图像。通过图像采集设备当前对应的位置坐标和方向向量等信息确定当前对应的变换矩阵,通过当前变换矩阵确定增强现实元素当前对应的纹理目标顶点坐标,从而确定渲染生成的三维图像的当前显示位置,实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

附图说明

图1为一个实施例中三维图像处理方法的流程图;

图2为另一个实施例中三维图像处理方法的流程图;

图2a为一个实施例中世界坐标系示意图;

图2b为发生偏转后移动终端在世界坐标系中的位置示意图;

图3为一个实施例中透视矩阵获取方法流程图;

图4为一个具体实施例中三维图像处理方法的流程图;

图5为一个实施例中图像采集设备视椎体的示意图;

图6为一个实施例中增强现实元素显示界面示意图;

图7为一个实施例中三维图像处理方法的原理架构图;

图8为一个实施例中三维图像处理装置的结构框图;

图9为一个实施例中透视矩阵生成模块的结构框图;

图10为另一个实施例中透视矩阵生成模块的结构框图;

图11为另一个实施例中三维图像处理装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供一种三维图像处理方法,包括以下内容:

步骤s110,在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量。

其中,世界坐标系是指系统的绝对坐标系,在没有建立用户坐标系之前画面上所有的点的坐标都是以该坐标系的原点来确定各自的位置的。特别地,在视觉中由于图像采集设备可安放在环境中的任意位置,在环境中选择一个基准坐标坐标系来描述图像采集设备的位置,并用它描述环境中任何物体的位置,该坐标系称为世界坐标系。图像采集设备坐标系与世界坐标系之间的关系可以用旋转矩阵与平移向量来描述。

其中,图像采集设备是指记录动态影像的设备,包括摄像机、录像机等,成像装置是指图像采集设备中形成图像的装置,成像装置平面是指用于取景的平面。

确定世界坐标系后,获取图像采集设备当前在世界坐标系中的位置坐标,垂直于图像采集设备成像装置平面的第一方向向量和平行于图像采集设备成像装置平面的第二方向向量,图像采集设备的当前位置坐标,当前第一方向向量和当前第二方向向量能够共同确定图像采集设备在空间中的位置和状态。具体地,第一方向向量可以表示图像采集设备成像装置当前的朝向,第二方向向量为图像采集设备当前的由底部向成像装置方向延伸的方向向量,第一方向向量和第二方向向量确定了图像采集设备的当前偏转状态。

步骤s120,根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵。

具体地,获取当前图像采集设备的位置坐标、第一方向向量和第二方向向量后,调用视图转换算法计算得到透视矩阵,透视矩阵也称透视变换矩阵,能够将图像采集设备空间中的点从视锥体变换到规则观察体中,待裁剪完毕后进行透视除法的行为。其中视锥体是指图像采集设备的视野范围形成的锥体,在锥体中选取两个矩形屏幕形成的棱椎体。规则观察体可以是一个正方体。进一步地,利用opengl(opengraphicslibrary,开源图形编程库)进行处理时,可以调用opengl中对应的视图转换函数直接进行计算得到透视矩阵。

步骤s130,获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离,根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵。

其中,图像采集设备坐标系是指以图像采集设备中的成像装置的光心为原点,图像采集设备中的成像装置的光轴作为z轴,x,y轴与图像的x轴,y轴平行形成的直角坐标系。

图像采集设备近平面顶点坐标、近平面距离和远平面距离依照工程需要设定,能够控制图像采集设备的视野及远近,能够共同决定能够看到的物体。在图像采集设备视野形成的视锥中做两个截面,距离图像采集设备较近的截面为近平面,距离图像采集设备较远的截面为远平面。由于移动终端的显示屏幕为矩形,图像采集设备近平面和远平面之间的图像需要投影到显示屏幕上,因此将近平面和远平面设置为矩形,通过在靠近图像采集设备的位置选取四个点作为近平面顶点坐标形成近平面矩形,根据相似性原理以及预设的近平面距离和远平面距离获取远平面。

设置近平面顶点坐标、近平面距离和远平面距离后,利用投影转换算法得到投影矩阵。由于移动终端显示屏显示的是一个二维平面,通过投影矩阵能够将三维图像中的三维几何图形转换为可作为二维图像渲染的形式。如变换三维物体到一个规范视域体,可以是从(-1,-1,0)延伸至(1,1,1)的盒子,当三维物体的所有顶点被映射到规范视域体后,只有x坐标和y坐标被用于映射到屏幕上,z坐标通常被深度缓冲用于可见度测试。

步骤s140,将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标。

其中,增强现实元素是指通过增强现实技术添加的虚拟元素,增强现实技术(augmentedreality,简称ar),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、三维模型的技术,目标是在屏幕上把虚拟世界套在现实世界并进行互动。

纹理表示物体表面细节的一幅或几幅二维图形,也称为纹理贴图,当把纹理按照特定的方式映射到物体表面上的时候能够使物体更加真实,纹理映射是指为三角形赋予图像数据的技术,能够更真实的表现场景。

进一步地,纹理坐标顶点实际上是指进行纹理映射的三角形的顶点坐标,由于移动终端显示屏为矩形,因此将纹理贴图以矩形的形式实现,而进行纹理映射主要通过三角形,因此将每个纹理贴图拆分成两个三角形进行纹理映射,获取对应的三角形的顶点坐标,确定纹理贴图的显示位置和视角。

具体地,透视矩阵与投影矩阵均可以对三维图像进行变换,将透视矩阵与投影矩阵相乘得到变换矩阵,实现透视投影的效果。透视投影是指在二维画布平面上绘图或者渲染体现接近真实三维物体的视觉效果的方法。因此,变换矩阵能够反应当前图像采集设备所处位置和视角将三维图像转换为二维图像的变化规律。将得到的变换矩阵与增强现实元素对应的纹理初始顶点坐标相乘得到纹理目标顶点坐标,也就是确定了当前三维图像转换为二维图像进行渲染时的位置和视角。

进一步地,由于变换矩阵根据图像采集设备当前位置坐标和朝向向量等信息确定,因此得到的纹理目标顶点坐标即为当前图像采集设备视野范围内增强现实元素呈现的效果,当图像采集设备发生转动时,变换矩阵随之变化,从而使纹理目标顶点坐标相应变化。

步骤s150,根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

具体的,根据纹理目标顶点坐标渲染纹理贴图,在移动终端显示屏上以二维图像的形式显示增强现实元素对应的三维图像,该三维图像坐标对应于当前图像采集设备视野范围。由于变换矩阵根据图像采集设备转动而对应变化,因此根据变换矩阵生成的纹理目标顶点坐标渲染而成的三维图像,也呈现随图像采集设备转动而改变在显示屏中显示视角的效果。

本实施例中,根据获取到的图像采集设备当前在世界坐标系中的位置坐标、垂直于图像采集设备成像装置平面的第一方向向量以及平行于图像采集设备成像装置平面的第二方向向量,利用视图转换算法得到透视矩阵,根据获取的图像采集设备坐标系中预设的近平面顶点坐标、近平面距离、远平面距离利用投影转换算法得到投影矩阵,然后利用透视矩阵和投影矩阵相乘得到变换矩阵,将变换矩阵与增强现实元素对应的纹理初始顶点坐标相乘得到纹理目标顶点坐标,从而根据纹理目标顶点坐标渲染增强现实元素生成对应的三维图像。通过图像采集设备当前对应的位置坐标和方向向量等信息确定当前对应的变换矩阵,通过当前变换矩阵确定增强现实元素当前对应的纹理目标顶点坐标,从而确定渲染生成的三维图像的当前显示位置,实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

如图2所示,在一个实施例中,步骤s110包括:

步骤s111,获取移动终端在世界坐标系中的各个坐标维度方向上的初始方向向量,形成初始方向向量矩阵。

具体地,初始状态是指移动终端未发生偏转之前的状态。预先建立世界坐标系并将移动终端放置在世界坐标系中,获取移动终端初始状态下相对于世界坐标系的坐标维度方向上的初始方向向量。

具体地,在一个实施例中,如图2a所示,y轴指向真实世界中的北方,z轴垂直于地面指向天空,x轴指向水平方向且垂直于y-z平面,建立真实世界坐标。将移动终端200按图2a中的位置放置,即屏幕朝向z方向,移动终端200上方向朝向y方向,移动终端200右方朝向x方向,将此时移动终端200的状态作为移动终端200的初始状态。根据移动终端200在真实世界坐标系中的位置获取移动终端200对应的屏幕朝向方向向量,上方向方向向量,右方向方向向量,构成移动终端200初始状态对应的初始方向向量矩阵。

步骤s113,当移动终端偏转时,利用传感器获取移动终端当前相对于世界坐标系的各个坐标维度的欧拉角,根据欧拉角得到对应的当前旋转矩阵。

其中,传感器能够感知移动终端的方位,并能够在世界坐标系中唯一确定移动终端的位置。当移动终端发生偏转时,传感器能够感知到移动终端相对于世界坐标系各个坐标维度的偏转角度。具体地,传感器可以是系统提供的传感器,如旋转向量传感器等。

欧拉角是指将角位移分解为绕三个互相垂直轴的三个旋转组成的序列,一般让物体初始位置与世界坐标系坐标轴对齐,然后根据物体的旋转获取欧拉角。在本实施例中,欧拉角是指移动终端的初始方向向量相对于世界坐标系的各个坐标维度的偏转角度。如图2b所示,在一个实施例中,移动终端在水平面上进行旋转,相对于世界坐标系的y轴形成了偏转角度,称之为欧拉角β。

进一步地,将欧拉角转换为旋转矩阵,是将偏离的角度转换为偏离的向量便于计算。

步骤s115,将初始向量矩阵与当前旋转矩阵相乘得到移动终端偏转后对应的当前方向向量矩阵。

具体地,将初始向量矩阵与当前旋转矩阵相乘相当于与将初始向量与在各个世界坐标系的维度方向的欧拉角做运算,得到偏转后的各个坐标维度对应的当前方向向量,形成当前方向向量矩阵。根据当前方向向量矩阵能够唯一标定偏转后移动终端的位置。

步骤s117,根据当前方向向量矩阵中的第一坐标维度方向向量确定第一方向向量。

具体地,图像采集设备安装在移动终端内,当移动终端发生偏转时,图像采集设备跟随移动终端发生相应的偏转,使得图像采集设备视野内的图像或图像显示角度等发生相应变化,为了计算当前图像采集设备内显示图像的效果,需要获取图像采集设备偏转后的位置,图像采集设备偏转后的位置由图像采集设备的位置坐标以及图像采集设备各个方向的方向向量共同确定。

在一个实施例中,为了方便计算,设置图像采集设备的初始状态各个方向的位置与移动终端初始方向位置保持一致,具体地,根据图像采集设备成像装置的朝向确定第一方向向量。若图像采集设备成像装置为前置成像装置,则图像采集设备成像装置朝向与移动终端屏幕朝向方向一致,朝向世界坐标系的z轴方向,也就是图像采集设备对应的第一方向向量与移动终端屏幕朝向方向向量一致,当根据当前旋转矩阵获取到偏转后移动终端各个坐标维度对应的方向向量后,即可根据移动终端的当前方向向量矩阵中的屏幕朝向方向向量确定第一方向向量。在其他实施例中,若图像采集设备成像装置为后置成像装置,则第一方向向量与移动终端对应的当前方向向量矩阵中的屏幕朝向向量相反。

步骤s119,将当前方向向量矩阵中的第二坐标维度方向向量作为第二方向向量。

本实施例中,为了使图像采集设备能够按照真实场景成像,图像采集设备的位置应该与移动终端的位置保持一致,平行于图像采集设备成像装置平面且指向图像采集设备平面上方的方向向量应该与移动终端上方向向量一致,得到移动终端对应的当前方向向量矩阵后,获取第二坐标维度方向向量也就是移动终端上方向向量,将移动终端上方向向量作为第二方向向量。根据获取的第一方向向量和第二方向向量确定移动终端发生偏转后对应的位置。其中,移动终端屏幕朝向具体是指垂直于移动终端显示屏幕的方向向量,移动终端上方向向量具体是指移动终端显示屏按照屏幕设计正常放置时显示屏幕的上方方向。

本实施例中,通过传感器获取移动终端在世界坐标系中的初始向量矩阵,并通过传感器检测移动终端发生偏转时,在各个坐标维度上发生的偏转角度,根据在各个坐标维度产生的欧拉角生成对应的旋转矩阵,利用旋转矩阵得到移动终端发生偏转后,在世界坐标系中对应的各个坐标维度上的方向向量,确定移动终端发生偏转后在世界坐标系中的位置。进一步地,根据移动终端偏转后的方向向量获取图像采集设备在偏转后对应的方向向量,从而确定偏转后图像采集设备的位置,以便计算偏转后图像采集设备的成像规律。通过传感器获取移动终端的偏转角度,从而确定移动终端偏转后在世界坐标系中所处的位置,进一步确定发生偏转后图像采集设备所处的位置,有利于进一步地计算图像采集设备当前位置的成像规律,使得绘制的增强现实元素达到跟随移动终端偏转而相应变化的效果。

在一个实施例中,当前旋转矩阵与欧拉角的转换公式为:

其中,α、β、γ分别表示移动终端相对于世界坐标系的x轴、y轴和z轴的欧拉角。

本实施例中,利用转换公式将各个坐标维度的偏转角度转换为旋转矩阵,利用旋转矩阵乘以移动终端初始向量矩阵得到偏转后的向量矩阵,利用旋转矩阵与初始向量矩阵相乘能够保证只改变初始向量的方向不改变初始向量的大小,能够方便快速的得到偏转后移动终端各个坐标维度对应的方向向量。

如图3所示,在一个实施例中,步骤s120包括:

步骤s121,获取世界坐标系的原点坐标,通过原点坐标与当前图像采集设备位置坐标计算得到当前图像采集设备的位置向量,对位置向量进行标准化得到标准化位置向量。

具体地,获取世界坐标系的原点坐标,根据世界坐标系的原点坐标与当前图像采集设备在世界坐标系中的位置坐标得到图像采集设备在世界坐标系中的位置向量。为了将三维图像转换为可二维绘制的图像,需要将图像采集设备视野范围内的图像转换到规范视域体,由于规范视域体通常是固定范围的正方体,如正方体范围从(-1,-1,0)延伸至(1,1,1),为了避免将图像采集设备视野范围内的图像转换到规范视域体后发生失真现象,将图像采集设备的位置向量进行标准化。向量标准化的具体过程为,将位置向量的各个维度的坐标分别与位置向量的长度做除法得到标准化位置向量。

步骤s123,将第一方向向量与标准化位置向量卷积得到对应的第一目标向量,并将第一目标向量进行标准化,得到第一标准化目标向量。

将第一方向向量与标准化位置向量进行卷积得到第一方向向量映射到规范视域体中的第一目标向量,进一步地,为了避免造成图像失真,对第一目标向量进行标准化,将第一目标向量的各个维度的坐标与第一目标向量的模做除法,得到第一标准化目标向量。

步骤s125,将第一标准化目标向量与标准化位置向量进行卷积得到第二目标向量,将标准化位置向量、第一标准化目标向量、第二目标向量构造生成透视矩阵。

具体地,通过卷积运算将三维图像进行视图变换和透视变换,实现将三维图像在图像采集设备视锥中的坐标转换为透视坐标,构造生成透视矩阵,当根据透视矩阵中的透视坐标进行图像渲染时,能够实现在二维平面渲染出三维图像的效果。

在一个实施例中,调用opengl中的setlookatm()函数利用第一方向向量、图像采集设备位置坐标、第二方向向量获取对应的透视矩阵。

本实施例中,通过一系列的矩阵运算将图像采集设备坐标变换到规范视域体中,形成对应的透视坐标,并构造成对应的透视矩阵,便于在二维平面对三维图像进行渲染。

在一个实施例中,三维图像处理方法还包括:

在移动终端发生偏转前,获取待添加的增强现实元素中的预设基本图形以及增强现实元素在移动终端显示屏中的预设显示位置,根据预设基本图形和预设显示位置获取对应的绘制预设基本图形的纹理对应的纹理初始顶点坐标。

其中,预设基本图形是指基本的纹理贴图,增强现实元素中可能包括多个基本图形也可能只有一个基本图形,如纹理贴图为心形,增强现实元素中包括多个心形气球,则此时增强现实元素中包括多个纹理贴图。若纹理贴图是由多个心形气球构成的图像,则增强现实元素中只包括一个纹理贴图。

由于图像采集设备成像的投影平面,如近平面或远平面为矩形,对纹理贴图进行渲染时采用矩形进行渲染,将纹理贴图包含在一个矩形框内,对于矩形相对于纹理贴图多余的部分渲染为透明。在一个实施例中,调用opengl对纹理贴图进行渲染,使用三角形进行纹理映射,将包含纹理贴图的矩形按照对角线分成两个三角形,获取矩形对应的两个三角形的顶点分别进行渲染得到对应的纹理贴图,从而形成增强现实元素。

具体地,在初始显示界面,当移动终端未发生偏转时,根据预设的增强现实元素在显示屏幕中显示的位置,根据初始位置获取渲染纹理图像的三角形纹理初始顶点坐标,对增强现实元素进行渲染。

本实施例中,根据预设的增强现实元素的显示位置,以及通过纹理映射渲染三维图像的原理获取纹理初始顶点坐标,以便于计算发生偏转后对应的纹理顶点坐标,从而实现在发生偏转在对应位置对增强现实元素进行渲染。

如图4所示,在一个具体实施例中,提供一种三维图像处理方法,包括以下内容:

步骤s401,获取移动终端在世界坐标系中的各个坐标维度方向上的初始方向向量,形成初始方向向量矩阵。

步骤s402,当移动终端偏转时,利用传感器获取移动终端当前相对于世界坐标系的各个坐标维度的欧拉角,根据欧拉角得到对应的当前旋转矩阵。

步骤s403,将初始向量矩阵与当前旋转矩阵相乘得到移动终端偏转后对应的当前方向向量矩阵。

步骤s404,根据当前方向向量矩阵中的第一坐标维度方向向量确定当前垂直于图像采集设备成像装置平面的第一方向向量。

步骤s405,将当前方向向量矩阵中的第二坐标维度方向向量作为当前平行于图像采集设备成像装置平面的第二方向向量。

步骤s406,在世界坐标系中获取当前图像采集设备位置坐标,当前第一方向向量和当前第二方向向量,根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵。

步骤s407,获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离,根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵。

如图5所示,为一个实施例中,由近平面和远平面在图像采集设备坐标系中形成的图像采集设备视锥体500,在视锥体500包括视点510的可视区间520,可视区间520是一个平截头体,包括近平面521和远平面522。在可视区间520外的图像不进行显示,在可视区间520内的图像进行显示。近平面顶点坐标、近平面距离和远平面距离共同决定了可视区间520的大小,因此共同决定了图像采集设备显示的画面。

进一步地,通过调用opengl中的matrix.frustumm()函数,根据近平面顶点坐标,近平面距离d1和远平面距离d2计算得到投影矩阵。具体地,分别使用left,right,bottom,top表示近平面上下左右坐标值,near,far表示近、远平面距离。

r_width=1.0/(right-left);r_height=1.0/(top-bottom);r_depth=1.0/(near-far);x=2.0*(near*r_width);y=2.0*(near*r_height);a=(right+left)*r_width;b=(top+bottom)*r_height;c=(far+near)*r_depth;d=2.0*(far*near*r_depth);构造得到投影矩阵:[x,0,0,0,0,y,0,0,a,b,c,-1,0,0,d,0]。

步骤s408,将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标。

步骤s409,根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

具体地,如图6所示,在移动终端中点击拍照按钮610a后,未选择增强现实元素前显示图像采集设备的预览页面600,点击增加增强现实元素的按钮610b后,增强现实元素620a根据预设位置渲染显示在相机显示页面620中,当移动终端发生偏转后,根据移动终端偏转的角度获取图像采集设备对应的偏转角度,并获取对应的变换矩阵,将增强现实元素对应的纹理贴图的顶点坐标变换到与图像采集设备偏转后的视角对应的角度,根据变换后的纹理目标顶点坐标渲染生成变换后的三维图像620b,显示在相机变换后的显示页面630中。

本实施例中,传感器通过获取移动终端的偏转角度确定移动终端偏转后的位置,从而确定图像采集设备偏转后的位置,利用透视投影的原理,确定图像采集设备偏转后将图像采集设备中的三维物体变换到能够渲染的二维物体的变换矩阵,根据变换矩阵获取变换后的纹理顶点坐标,从而根据纹理顶点坐标对纹理进行渲染,生成偏转后的增强现实元素对应的三维图像。实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

如图7所示,为一个实施例中,三维图像处理方法的原理架构图。首先开启图像采集设备显示图像采集设备的初始画面,然后传感器检测移动终端是否发生偏转,当传感器检测到移动终端发生偏转时,获取对应的欧拉角,根据欧拉角计算得到对应的旋转矩阵,根据旋转矩阵确定当前移动终端的位置和摆放方向,从而进一步确定图像采集设备的位置和视野方向,根据图像采集设备位置和方向参数计算投影矩阵和透视矩阵,根据投影矩阵和透视矩阵计算变换矩阵,根据变换矩阵将图像采集设备视野中的三维图像转换为在二维平面上可渲染的图像,根据变换矩阵获取转换后的增强现实元素对应的纹理目标顶点坐标,根据纹理目标顶点坐标绘制增强现实元素。从而实现移动终端偏转时,增强现实元素显示对应于当前图像采集设备视野的图像,增强图像显示的真实性。

如图8所示,在一个实施例中,提供一种三维图像处理装置,包括:

透视矩阵生成模块810,用于在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量,根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵。

投影矩阵生成模块820,用于获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离,根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵。

目标顶点坐标生成模块830,用于将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标。

渲染模块840,用于根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

上述三维图像处理装置,根据获取到的图像采集设备当前在世界坐标系中的位置坐标、垂直于图像采集设备成像装置平面的第一方向向量以及平行于图像采集设备成像装置平面的第二方向向量,利用视图转换算法得到透视矩阵,根据获取的图像采集设备坐标系中预设的近平面顶点坐标、近平面距离、远平面距离利用投影转换算法得到投影矩阵,然后利用透视矩阵和投影矩阵相乘得到变换矩阵,将变换矩阵与增强现实元素对应的纹理初始顶点坐标相乘得到纹理目标顶点坐标,从而根据纹理目标顶点坐标渲染增强现实元素生成对应的三维图像。通过图像采集设备当前对应的位置坐标和方向向量等信息确定当前对应的变换矩阵,通过当前变换矩阵确定增强现实元素当前对应的纹理目标顶点坐标,从而确定渲染生成的三维图像的当前显示位置,实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

如图9所示,在一个实施例中,透视矩阵生成模块810包括:

第一获取模块811,用于获取移动终端在世界坐标系中的各个坐标维度方向上的初始方向向量,形成初始方向向量矩阵。

旋转矩阵生成模块812,用于当移动终端偏转时,利用传感器获取移动终端当前相对于世界坐标系的各个坐标维度的欧拉角,根据欧拉角得到对应的当前旋转矩阵。

方向向量矩阵生成模块813,用于将初始向量矩阵与当前旋转矩阵相乘得到移动终端偏转后对应的当前方向向量矩阵。

第一方向向量获取模块814,用于根据当前方向向量矩阵中的第一坐标维度方向向量确定第一方向向量。

第二方向向量获取模块815,用于将当前方向向量矩阵中的第二坐标维度方向向量作为第二方向向量。

在一个实施例中,当前旋转矩阵与欧拉角的转换公式为:

其中,α、β、γ分别表示移动终端相对于世界坐标系的x轴、y轴和z轴的欧拉角。

如图10所示,在一个实施例中,透视矩阵生成模块810还包括:

第二获取模块810a,用于获取世界坐标系的原点坐标,通过原点坐标与当前图像采集设备位置坐标计算得到当前图像采集设备的位置向量,对位置向量进行标准化得到标准化位置向量。

卷积模块810b,用于将第一方向向量与标准化位置向量卷积得到对应的第一目标向量,并将第一目标向量进行标准化,得到第一标准化目标向量,将第一标准化目标向量与标准化位置向量进行卷积得到第二目标向量。

组合模块810c,用于将标准化位置向量、第一标准化目标向量、第二目标向量构造生成透视矩阵。

如图11所示,在一个实施例中,三维图像处理装置还包括:

初始状态获取模块850,用于在移动终端发生偏转前,获取待添加的增强现实元素中的预设基本图形以及增强现实元素在移动终端显示屏中的预设显示位置。

初始顶点坐标获取模块860,根据预设基本图形和预设显示位置获取对应的绘制预设基本图形的纹理对应的纹理初始顶点坐标。

如图12所示,为一个实施例中计算机设备的内部结构图,该计算机设备通过系统连接总线连接处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机可读指令,该计算机可读指令被执行时,可使得处理器执行一种三维图像处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种三维图像处理方法。计算机设备的网络接口用于进行网络通信,如发送欧拉角数据、初始顶点坐标数据等。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。触摸层和显示屏构成触控屏。图像采集装置可以是摄像头。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的三维图像处理装置可以实现为一种计算机程序的形式,所述计算机程序可在如图12所示的计算机设备上运行,所述计算机设备的非易失性存储介质可存储组成该三维图像处理装置的各个程序模块,比如图8中的透视矩阵生成模块810、投影矩阵生成模块820、目标顶点坐标生成模块830及渲染模块840。各个程序模块中包括计算机可读指令,所述计算机可读指令用于使所述计算机设备执行本说明书中描述的本申请各个实施例的三维图像处理方法中的步骤,例如,所述计算机设备可以通过如图8所示的三维图像处理装置中的透视矩阵生成模块810在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量,根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵,通过投影矩阵生成模块820获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离,根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵,通过目标顶点坐标生成模块830将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标。并通过渲染模块840根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,计算机可执行指令被处理器执行时,使得处理器执行以下步骤:在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量;根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵;获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离;根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标;根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

本实施例中,计算机可读存储介质通过图像采集设备当前对应的位置坐标和方向向量等信息确定当前对应的变换矩阵,通过当前变换矩阵确定增强现实元素当前对应的纹理目标顶点坐标,从而确定渲染生成的三维图像的当前显示位置,实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取移动终端在世界坐标系中的各个坐标维度方向上的初始方向向量,形成初始方向向量矩阵;当移动终端偏转时,利用传感器获取移动终端当前相对于世界坐标系的各个坐标维度的欧拉角,根据欧拉角得到对应的当前旋转矩阵;将初始向量矩阵与当前旋转矩阵相乘得到移动终端偏转后对应的当前方向向量矩阵;根据当前方向向量矩阵中的第一坐标维度方向向量确定第一方向向量;将当前方向向量矩阵中的第二坐标维度方向向量作为第二方向向量。

在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:当前旋转矩阵与欧拉角的转换公式为:

其中,α、β、γ分别表示移动终端相对于世界坐标系的x轴、y轴和z轴的欧拉角。

在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取世界坐标系的原点坐标,通过原点坐标与当前图像采集设备位置坐标计算得到当前图像采集设备的位置向量,对位置向量进行标准化得到标准化位置向量;将第一方向向量与标准化位置向量卷积得到对应的第一目标向量,并将第一目标向量进行标准化,得到第一标准化目标向量;将第一标准化目标向量与标准化位置向量进行卷积得到第二目标向量;将标准化位置向量、第一标准化目标向量、第二目标向量构造生成透视矩阵。

在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:在移动终端发生偏转前,获取待添加的增强现实元素中的预设基本图形以及增强现实元素在移动终端显示屏中的预设显示位置;根据预设基本图形和预设显示位置获取对应的绘制预设基本图形的纹理对应的纹理初始顶点坐标。

在一个实施例中,提供一种计算机设备,包括存储器和处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行步骤:在世界坐标系中获取当前图像采集设备位置坐标,当前垂直于图像采集设备成像装置平面的第一方向向量和当前平行于图像采集设备成像装置平面的第二方向向量;根据当前图像采集设备位置坐标、第一方向向量和第二方向向量利用视图转换算法得到透视矩阵;获取在图像采集设备坐标系中预设的近平面顶点坐标、近平面距离和远平面距离;根据近平面顶点坐标、近平面距离和远平面距离利用投影转换算法得到投影矩阵;将透视矩阵与投影矩阵相乘得到变换矩阵,将变换矩阵与添加的增强现实元素对应的纹理初始顶点坐标相乘得到增强现实元素对应的纹理目标顶点坐标;根据纹理目标顶点坐标渲染增强现实元素生成三维图像。

通过图像采集设备当前对应的位置坐标和方向向量等信息确定当前对应的变换矩阵,通过当前变换矩阵确定增强现实元素当前对应的纹理目标顶点坐标,从而确定渲染生成的三维图像的当前显示位置,实现当移动终端带动图像采集设备转动时,增强现实元素对应的三维图像随着图像采集设备做相应的转动,从而增加增强现实元素对应的三维图像与真实背景图片的融合度,提高图片的真实性。

在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取移动终端在世界坐标系中的各个坐标维度方向上的初始方向向量,形成初始方向向量矩阵;当移动终端偏转时,利用传感器获取移动终端当前相对于世界坐标系的各个坐标维度的欧拉角,根据欧拉角得到对应的当前旋转矩阵;将初始向量矩阵与当前旋转矩阵相乘得到移动终端偏转后对应的当前方向向量矩阵;根据当前方向向量矩阵中的第一坐标维度方向向量确定第一方向向量;将当前方向向量矩阵中的第二坐标维度方向向量作为第二方向向量。

在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:当前旋转矩阵与欧拉角的转换公式为:

其中,α、β、γ分别表示移动终端相对于世界坐标系的x轴、y轴和z轴的欧拉角。

在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取世界坐标系的原点坐标,通过原点坐标与当前图像采集设备位置坐标计算得到当前图像采集设备的位置向量,对位置向量进行标准化得到标准化位置向量;将第一方向向量与标准化位置向量卷积得到对应的第一目标向量,并将第一目标向量进行标准化,得到第一标准化目标向量;将第一标准化目标向量与标准化位置向量进行卷积得到第二目标向量;将标准化位置向量、第一标准化目标向量、第二目标向量构造生成透视矩阵。

在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:在移动终端发生偏转前,获取待添加的增强现实元素中的预设基本图形以及增强现实元素在移动终端显示屏中的预设显示位置;根据预设基本图形和预设显示位置获取对应的绘制预设基本图形的纹理对应的纹理初始顶点坐标。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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