一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维图像生成方法、装置、电子设备及存储介质与流程

2021-11-15 17:46:00 来源:中国专利 TAG:


1.本公开涉及图像处理技术,尤其涉及一种三维图像生成方法、装置、电子设备及存储介质。


背景技术:

2.随着图像处理技术的不断发展,通过深度学习等技术,我们可以提取二维图像的深度信息,也就是二维图像中的像素点对应的深度值,从而可以通过渲染还原二维图像的部分三维信息,将普通的平面图像进行三维(3 dimensions)化处理,生成对应的3d图像。
3.例如,可以通过对原始二维图像和深度图进行处理,通过调整原始二维图像对应的深度信息,计算不同相机参数下的像素位置,从而能够渲染出不同角度下的3d图像。但是目前的方案仅支持相机视角在极小范围内变化的情况,如相机视角的变化范围较大,则生成的3d图像的部分像素点信息不全,或者像素点信息失真,生成的3d图像会出现失真或者扭曲的现象。


技术实现要素:

4.本公开提供一种三维图像生成方法、装置、电子设备及存储介质,以至少解决相关技术中相机视角变化范围较大而导致生成的3d图像出现失真或扭曲的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种三维图像生成方法,该方法包括:根据二维图像和所述二维图像的每个像素点对应的深度信息,得到所述每个像素点的世界坐标;根据每个像素点的像素坐标,得到所述每个像素点的纹理坐标;按照三角形三个像素顶点的顺序存储所述每个像素点对应的索引号,其中,三角形是构成三维模型的基本单位,三维模型包括多个三角形;根据存储的所述索引号,读取与所述索引号对应的像素坐标,以及对应的像素点的世界坐标和纹理坐标,进行渲染处理生成所述二维图像对应的三维图像。
6.上述技术方案中,通过得到每个像素点的世界坐标,得到每个像素点的纹理,以及生成图像渲染的三角形像素顶点的索引号缓存,构成一种三维图像的处理模型。从而能够根据所存储的像素点索引号得到像素点对应的世界坐标和纹理坐标,通过图像渲染还原出三维图像。在相机角度移动或者调整参数时,仍然可以根据上述三维图像生成的模型进行参数调整处理,生成对应角度下的三位图像,达到3d照片所需求的效果。
7.在一种实施方式中,所述根据二维图像和所述二维图像的每个像素点对应的深度信息,得到所述每个像素点的世界坐标,包括:根据所述二维图像的每个像素点对应的像素坐标、相机的焦距和所述二维图像的每个像素点对应的深度信息,得到所述二维图像的每个像素点的世界坐标。上述可能的实现方式中,通过简化计算的方式得到二维图像的每个像素点的世界坐标,简化运算可有效降低构建三维图像模型的运算复杂度。
8.在一种实施方式中,所述根据二维图像的每个像素点对应的像素坐标、相机的焦距和所述二维图像的每个像素点对应的深度信息,得到所述二维图像的每个像素点的世界
坐标,具体包括:像素点m对应的世界坐标满足:其中,m
i,j
表示所述像素点m对应的世界坐标,i,j表示所述像素点m的像素坐标,p0
i,j
表示所述像素点m映射到z=0的平面所对应的像素点p0的世界坐标,c表示相机镜头的中心点世界坐标(0,0,f),d
i,j
表示所述像素点m的深度信息,f表示相机的焦距。
9.上述可能的实现方式中,是通过一定的数据假设,基于相机镜头的中心点世界坐标为(0,0,f),且相机镜头的中心点始终朝向二维图像的中心点,通过简化运算的方式得到二维图像的每个像素点对应的世界坐标,降低了构建三维图像模型的运算复杂度。
10.在一种实施方式中,根据每个像素点的像素坐标,得到所述每个像素点的像素坐标对应的纹理坐标,包括:当h小于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
×
h/w,1-j
×
h
y
);当h大于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
,1-j
×
h
y
×
w/h),其中,w
x
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中x轴的间距,h
y
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中y轴的间距,w表示所述二维图像在x轴的像素分辨率,h表示所述二维图像在y轴的像素分辨率。
11.在一种实施方式中,所述按照三角形三个像素顶点的顺序存储所述每个像素点对应的索引号,具体包括:根据图像渲染构成三角形的三个像素顶点的顺时针顺序或者逆时针顺序,依次将每个像素点对应的索引号存入缓存。上述可能的实现方式中,通过图像渲染的基本单元三角形的图像渲染规则,将三角形的三个顶点的像素点索引号存入缓存,从而能够根据缓存中的索引号确定像素点的世界坐标和纹理坐标,进行三维图像的渲染。
12.在一种实施方式中,进行渲染处理生成所述二维图像对应的三维图像之前,该方法还包括:根据图像渲染构成三角形的所述三个像素顶点对应的色值,通过线性插值算法得到所述三角形区域内的多个像素点中除所述三个像素顶点的缺失纹理信息的像素点对应的色值。上述可能的实现方式中,通过利用计算机图形处理器(graphics processing unit,gpu)的图像渲染特性,对生成的三维图像模型中,根据三角形三个像素顶点的纹理信息通过线性差值计算,补齐所述三角形中纹理信息缺失的像素点色值信息,从而能够还原出较为完整的三维图像,避免出现失真或扭曲的问题。
13.根据本公开实施例的第二方面,提供一种三维图像生成装置,所述装置包括:图像处理模块,被配置为执行根据二维图像和所述二维图像的每个像素点对应的深度信息,得到所述每个像素点的世界坐标;所述图像处理模块,还被配置为执行根据每个像素点的像素坐标,得到所述每个像素点的纹理坐标;索引缓存模块,被配置为执行按照三角形三个像素顶点的顺序存储所述每个像素点对应的索引号,其中,三角形是构成三维模型的基本单位,三维模型包括多个三角形;图像渲染模块,被配置为执行根据存储的所述索引号,读取与所述索引号对应的像素坐标,以及对应的像素点的世界坐标和纹理坐标,进行渲染处理生成所述二维图像对应的三维图像。
14.在一种实施方式中,所述图像处理模块,具体被配置为:根据所述二维图像的每个像素点对应的像素坐标、相机的焦距和所述二维图像的每个像素点对应的深度信息,得到所述二维图像的每个像素点的世界坐标。
15.在一种实施方式中,所述图像处理模块,具体被配置为:像素点m对应的世界坐标
满足:其中,m
i,j
表示所述像素点m对应的世界坐标,i,j表示所述像素点m的像素坐标,p0
i,j
表示所述像素点m映射到z=0的平面所对应的像素点p0的世界坐标,c表示相机镜头的中心点世界坐标(0,0,f),d
i,j
表示所述像素点m的深度信息,f表示相机的焦距。
16.在一种实施方式中,所述图像处理模块,具体还被配置为:当h小于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
×
h/w,1-j
×
h
y
);当h大于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
,1-j
×
h
y
×
w/h),其中,w
x
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中x轴的间距,h
y
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中y轴的间距,w表示所述二维图像在x轴的像素分辨率,h表示所述二维图像在y轴的像素分辨率。
17.在一种实施方式中,所述索引缓存模块,具体被配置为执行:根据图像渲染构成三角形的三个像素顶点的顺时针顺序或者逆时针顺序,依次将每个像素点对应的索引号存入缓存。
18.在一种实施方式中,所述图像渲染模块,具体被配置为执行:根据图像渲染构成三角形的所述三个像素顶点对应的色值,通过线性插值算法得到所述三角形区域内的多个像素点中除所述三个像素顶点的缺失纹理信息的像素点对应的色值。
19.根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:处理器;和用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如本技术实施例提供的第一方面及第一方面中任一项所述的三维图像生成方法。
20.根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如本技术实施例提供的第一方面及第一方面中任一项所述的三维图像生成方法。
21.根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如本技术实施例提供的第一方面及第一方面中任一项所述的三维图像生成方法。
22.本公开的实施例提供的技术方案至少带来以下有益效果:本技术实施例通过生成二维图像每个像素点对应的世界坐标、纹理坐标和三角形图像渲染缓存,构成了一个三维图像生成的模型,在该模型上使用二维图像作为纹理,可以在三维场景中还原完整的3d图像;从而相机角度移动或者调整其他参数时,仍然可以根据3d图像生成的模型还原出较为完整的三维图像,达到3d照片所需求的效果。另外,由于gpu的图像渲染特性,在渲染纹理时,会将缺失的像素信息根据已有纹理进行线性插值等处理,从而能够避免信息缺失所导致的3d图像扭曲、断裂等3d图像失真的问题。
23.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
24.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施
例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
25.图1是根据一示例性实施例示出的一种三维图像生成方法的流程图。
26.图2是根据一示例性实施例示出的多种图像坐标系的示意图。
27.图3是根据一示例性实施例示出的像素坐标系和纹理坐标系对应关系示意图。
28.图4是根据一示例性实施例示出的图像渲染的三角形顶点示意图。
29.图5是根据一示例性实施例示出的二维图像成像原理及坐标关系示意图。
30.图6是根据一示例性实施例示出的一种三维图像生成方法装置的框图。
31.图7是根据一示例性实施例示出的一种装置的框图(电子设备的一般结构)。
具体实施方式
32.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
33.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
34.3d图像是指具有立体效果的图像,可以指通过图像处理软件制作出来具有真实感的图像。3d即三维,是指空间的三个维度,即x、y、z三个轴组成的立体空间。通过旋转其3d图像以转换查看视角,可以展示3d图像不同角度的信息。3d图像是相对于只有长和宽的平面(二维)图像而言的。
35.本技术提供了一种三维图像生成方法及装置,通过原始的二维图像,和该二维图像的深度信息,经过一定的图像处理可以生成该二维图像在不同相机视角下的三维图像。通过本技术提供的技术方案所生成的图片,能在相机的视角改变较大的情况也能呈现较完整的3d图像。
36.上述方法可以应用于具有图像拍摄功能或者图像处理能力的电子设备,所述电子设备具体可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等,本公开实施例对该电子设备的具体形态不作特殊限制。
37.图1是根据一示例性实施例示出的一种三维图像生成方法的流程图,如图1所示,该方法可以应用于电子设备中,包括以下步骤。
38.在步骤s11中,根据二维图像和二维图像的每个像素点对应的深度信息,得到每个像素点的世界坐标。
39.其中,二维图像是指不包括深度信息的平面图像。二维即指该图像的长和宽两个维度。二维图像可以是通过上述电子设备的摄像头拍摄所获取的,也可以是电子设备接收到的其他电子设备拍摄的二维图像,例如相机。
40.深度信息是指目标物体与观测点(相机的中心点)之间的距离信息,可以通过基于飞行时间的(time of flight,tof)测距相机获取,或者通过红外探测设备获取。即tof测距相机或者红外设备可以获取目标物体的深度图,该深度图上的每一个深度值即可以表示目标物体上的点与tof测距相机或者红外探测设备之间的距离。另外,还可以通过人工智能算法对二维图像进行深度学习的计算,得到二维图像的深度信息。
41.在一种实施方式中,在进行具体的数据计算和处理之前,可以对深度信息进行归一化处理,以使得深度信息的取值(深度值)在一定的范围内,从而使得深度值不会过小,难以反映不同的像素点之间的深度值的差异;也可以使得深度值不会过大,导致计算复杂度增加。示例性的,可以将深度信息归一化处理为[1,6],即将深度值限定在在1和6(包括1和6)的范围内,其单位可以为米(m)。
[0042]
因此,通过电子设备获取的深度图,可以得到二维图像的每个像素点对应的深度信息,即可以得到该二维图像上的每个像素点对应的目标物体在真实世界中与电子设备之间的距离信息。
[0043]
世界坐标系是指图形学中的立体空间坐标,是一个三维坐标系。目标物体的世界坐标能够反映该目标物体存在于真实世界中的绝对坐标,能够较为准确的反映目标物体上的不同位置之间的相对坐标。例如,m(x,y,z)表示空间中的一个点p在世界坐标系下的坐标。世界坐标的单位可以为米(m)。
[0044]
在一种实施方式中,可以根据二维图像和二维图像的每个像素点对应的深度信息,得到每个像素点的世界坐标,从而可以得到目标物体在真实世界中的世界坐标,以进一步处理得到3d图像。
[0045]
如图2所示,相对于像素点的世界坐标系,还存在相机坐标系,图像坐标系和像素坐标系。其中,相机坐标系是指以相机为参考点建立的三维空间坐标系,是为了从相机的角度描述目标物体的位置而定义的,可以作为建立世界坐标系和图像坐标系、像素坐标系之间关系的中间量。相机坐标的单位可以为米(m)。
[0046]
图像坐标系是为了描述二维图像的成像过程中,目标物体从相机坐标系到图像坐标系的投影透射关系而引入的,方便进一步得到像素坐标系下的坐标。图像坐标的单位可以为米(m)。根据光线的投影透射理论,相机拍摄的目标物体上的一点可以被光线投影,从而生成二维图像平面上的一个对应点。
[0047]
像素坐标系是为了描述目标物体成像后的像素点在数字图像上的坐标而引入的。由于二维图像是由一个一个的像素单元(也称像素点)组成的,像素坐标即每一个像素点在图像中的位置,是我们真正从相机内读取到图像的像素点信息所在的坐标。像素坐标的单位可以为个(像素数目)。像素坐标是以二维图像的左上角为原点建立的以像素为单位的直角坐标系u-v。像素的横坐标u与纵坐标v分别是在其二维图像中像素单元所在的列数与所在的行数。
[0048]
上述的几种坐标之间可以通过一定的数学运算进行转换,可以根据不同的计算需要转换为对应坐标系下的坐标。本技术实施例涉及的坐标系之间的转换方式和推算过程将在下文进行详细介绍。
[0049]
在步骤s12中,根据每个像素点的像素坐标得到每个像素点的纹理坐标。
[0050]
上述二维图像的图像分辨率可以表示为w
×
h,可以表示该二维图像被划分为w
×
h
个像素单元,也可称为像素点。其中,w表示二维图像在x轴的像素分辨率,可以表示该二维图像每行有w个像素单元,h表示二维图像在y轴的像素分辨率,可以表示该二维图像每列有h个像素单元,w和h都为大于0的自然数。像素点的像素坐标可以用m(i,j)来表示,用来指示第i行,第j列的像素点m,其中,i和j都为自然数。像素坐标的原点(0,0)表示第0行第0列的像素点,如图3所示。
[0051]
其中,可以用自然数m来表示像素点的索引号。例如,像素坐标的原点(0,0)表示第0行第0列的像素点,其索引号可以为0;像素坐标(0,1)表示第0行第1列的像素点,其索引号可以为1,以次类推,得到每一个像素点的索引号。可以根据索引号得到像素点的像素坐标。
[0052]
纹理实际可以是一个数组,数组中纹理的元素是一些颜色值。单个颜色值被称为纹理元素或纹理像素。每一个纹理元素在纹理中都有一个唯一的地址,表示该纹理贴图对应的纹理坐标。当将一个纹理贴图应用于一个二维图像的区域时,它的纹理像素地址需要映射到该二维图像的坐标系中,然后再被平移到屏幕坐标系或像素坐标系上。因此,上述纹理元素的地址也就是纹理坐标可以通过像素坐标进行转换来表示,也就是纹理坐标和像素坐标存在对应关系。
[0053]
如图3所示,纹理坐标是以二维图像的左下角为原点建立的以纹理元素为单位的直角坐标系x-y,在x轴和y轴上,取值范围为0到1之间。因此,纹理坐标起始于(0,0),也就是纹理图片的左下角的坐标为(0,0),纹理图片的右上角的纹理坐标可以为(1,1)。
[0054]
在上述实施方式中,可以根据每个像素点的像素坐标,以及多个像素坐标与纹理坐标的对应关系,得到每个像素点的纹理坐标。
[0055]
在步骤s13中,按照三角形三个像素顶点的顺序存储每个像素点对应的索引号。
[0056]
按照图像渲染的规则,将每个像素点的像素点的索引号顺序存储,例如,存入缓存。以使得根据缓存中存储的像素点的索引号顺序,读取与索引号对应的像素坐标,以及对应的像素点的世界坐标和纹理坐标,以进行渲染处理生成二维图像对应的三维图像。
[0057]
纹理是用来保存像素点颜色的元素值的数组,渲染是指将数据生成图像的过程。纹理渲染就是根据保存在缓存中的颜色值等数据,生成图像的过程。
[0058]
在一种实施方式中,三维模型包括多个三角形,也即三角形是构成三维模型的基本单位。而3d图像的绘制,通过至少三个点可以定义一个图像平面,四个像素点构成的矩形,可以通过两个三角形来实现。因此,图像绘制和渲染的基本单位可以是三角形三个顶点对应的像素点,任何复杂的3d图像都可以通过渲染多个三角形来实现。其中,三角形的三个像素顶点都是三维空间内的顶点。因此,三角形为三维图像渲染的基本单位,三维图像可以由渲染多个三角形的纹理信息来还原。
[0059]
为了能够把纹理映射到三角形上,可以指定三角形的每个顶点各自对应纹理的哪个部分。这样每个顶点就会关联一个纹理坐标,用来标明应该从纹理图像的哪个部分采集像素颜色。
[0060]
假设四个像素构成一个矩形,如图4所示,其左上角的像素在二维图片中的像素坐标为(i,j),该像素点对应的索引号为m1。其他三个像素点在二维图片中的像素坐标分别为:像素坐标(i 1,j),对应的索引号为m2;像素坐标(i,j 1),对应的索引号为m3;像素坐标(i 1,j 1),对应的索引号为m4。
[0061]
根据预设规则选取图像渲染的起始像素顶点,和图像渲染构成三角形的三个像素
顶点的顺时针顺序或者逆时针顺序,依次将每个像素点对应的索引号存入缓存。例如每个三角形都是从它的左上角为第一个顶点,该矩形可以分出两个三角形,则将两个三角形的每个像素点的像素坐标的索引号按照图像渲染的顺序存入缓存,分别可以为:
[0062]
m1、m4、m2;
[0063]
m1、m3、m4。
[0064]
或者,如每个三角形都是从它的左下角为第一个顶点,则两个三角形的像素坐标的索引号存入缓存的顺序还可以为:
[0065]
m3、m1、m2;
[0066]
m3、m2、m4。
[0067]
在步骤s14中,根据存储的索引号,读取与索引号对应的像素坐标,以及对应的像素点的世界坐标和纹理坐标,进行渲染处理生成二维图像对应的三维图像。
[0068]
电子设备可以根据上述缓存中存储的索引号的顺序,得到索引号对应的像素坐标,根据像素坐标读取与像素坐标对应的像素点的世界坐标和纹理坐标,以进行渲染处理生成二维图像对应的三维图像。
[0069]
本技术实施例提供的上述方法,根据二维图像和深度信息,通过生成每个像素的世界坐标,纹理坐标,以及三角形三个顶点像素坐标的索引号的缓存,则可以构成一个3d图像处理的模型,在该模型上使用二维图片作为纹理,最终可以在3d场景中还原完整的3d图像。并且在相机移动或者调整其他参数时,仍然可以看到图片生成的模型,达到3d图像所需求的效果。由于图形处理器(graphics processing unit,gpu)渲染的特性,在渲染纹理时,会将三角形区域内缺失像素信息的像素点,根据已有纹理信息进行线性插值等处理。具体可以为,根据三角形的三个像素顶点对应的色值,通过线性插值算法得到三角形区域内的多个像素点中除三个像素顶点的缺失纹理信息的像素点对应的色值,从而可以避免像素信息的缺失所导致的图像扭曲或者断裂的现象。
[0070]
通过上述的运算和渲染处理可以生成三维图像,由于该方法是通过二维图像和该二维图像上每个像素点对应的深度信息,计算得到该二维图像上每个像素点对应的世界坐标,从而确定真实空间中目标物体的位置,以此来生成不同相机的拍摄角度下的3d图像,其在相机视角变化范围较大的情况下也能还原3d场景,因此能够解决现有技术中相机视角变化范围较大而导致生成的3d图像出现失真或扭曲的问题。
[0071]
在一种实施方式中,在上述实施例中的步骤s11中,具体可以根据二维图像的每个像素点对应的像素坐标、相机的焦距和二维图像的每个像素点对应的深度信息,得到二维图像的每个像素点的世界坐标。
[0072]
具体的,像素点m对应的世界坐标可以通过以下公式得到:
[0073]
其中,m
i,j
表示所述像素点m对应的世界坐标,i,j表示像素点m的像素坐标,p0
i,j
表示像素点m映射到z=0的平面所对应的像素点p0的世界坐标,c表示相机镜头的中心点世界坐标(0,0,f),d
i,j
表示像素点m的深度信息,f表示相机的焦距。
[0074]
上述公式的推导可以通过以下过程:
[0075]
首先,假设相机的中心点在世界坐标系中的位置c为(0,0,f),相机的焦距为f,并且,相机的中心点始终朝向二维图像的中心点p。
[0076]
其中,相机的镜头焦距是指镜头光学后主点到光聚集之焦点的距离,是镜头的重要性能指标。焦距具体可以为相机的镜头光学中心点到二维成像平面的距离,也就是如图5中相机的中心点c二维图像中心点p的距离为f,单位可以为米(m)。
[0077]
相机的焦距f与相机的视场角(field of view,fov)之间的关系满足:
[0078]
其中,视场角也称为视角,是以光学仪器的镜头为顶点,以被测目标的物像可通过镜头的最大范围的两条边缘构成的夹角。视场角的大小决定了光学仪器的视野范围。示例性的,在本技术的实施例中,可以假设视场角的范围为40
°
~80
°

[0079]
如二维图像的图像分辨率为w
×
h,并且,该二维图像的长和宽的尺寸为width
×
height其中,width可以表示该二维图像的宽度,单位可以为米(m);height可以表示该二维图像的高度,单位可以为米(m)。根据二维图像的图像分辨率和长宽尺寸的比例关系,可以得到w/h=width/height。
[0080]
则可以得到,当二维图像的h>w时,假设二维图像在世界坐标下的宽度width为1,则二维图像在世界坐标下的长度height为h/w;当二维图像的h<w时,假设二维图像在世界坐标下的height为1,则二维图像在世界坐标下的width为w/h。
[0081]
进一步,假设该二维图像对应的所有像素点的深度值都为0时,则表示该二维图像所有的像素点都在世界坐标中z=0的平面上,则可以得到在世界坐标系的y轴上,像素点之间在世界坐标系的间距可以为:h
y
=height/h,在世界坐标系的x轴上,像素点之间在世界坐标系的间距可以为:w
x
=width/w。
[0082]
该二维图像对应的像素点的像素坐标可以为:二维图像的左上角的像素坐标为(0,0),向右下角递增,则右下角的像素坐标为(w-1,h-1)。假设像素点m的像素坐标为(i,j),则像素点p0在z=0的平面的世界坐标可以为:
[0083]
p0
i,j
=(-width/2 i
×
wx,height/2 j
×
hy,0)。
[0084]
然后,根据二维平面上的像素点和二维平面上像素点在真实空间中的点的对应关系,如图5所示,其满足三角形相似原理,可以得到:
[0085][0086]
上述实施方式中,通过假设以相机的中心点为原点的像机坐标系,和世界坐标系的位置关系,从而可以较为简化得推算出二维图像上的像素点对应的真实世界中的位置,也就是像素点的世界坐标。根据上述公式可以得到每个像素点的世界坐标。
[0087]
在一种实施方式中,在上述实施例中的步骤s12中,根据像素点的像素坐标,和像素坐标与纹理坐标之间的关系,得到每个像素点的纹理坐标,具体可以通过如下公式得到:
[0088]
当该二维图像在y轴的像素分辨率小于或者等于在x轴的像素分辨率时,即h≤w时,则像素点m(i,j)的纹理坐标可以为:(i
×
w
x
×
h/w,1-j
×
h
y
)。
[0089]
或者,当该二维图像在y轴的像素分辨率大于或者等于在x轴的像素分辨率时,即h
≥w时,则像素点m(i,j)的纹理坐标可以为:(i
×
w
x
,1-j
×
h
y
×
w/h)。
[0090]
上述实施方式中,通过像素点的像素坐标进行转化得到纹理坐标,能够在渲染图像的时候根据纹理坐标进行纹理贴图的渲染,从而能够准确地生成3d图像,避免图像的失真和扭曲。
[0091]
图6是根据一示例性实施例示出的一种三维图像生成装置框图。参照图6,该装置600包括图像处理模块601、索引缓存模块602和图像渲染模块603。
[0092]
图像处理模块601,被配置为执行根据二维图像和所述二维图像的每个像素点对应的深度信息,得到所述每个像素点的世界坐标。
[0093]
所述图像处理模块601,还被配置为执行根据所述每个像素点的像素坐标得到每个像素点的纹理坐标。
[0094]
索引缓存模块602,被配置为执行照三角形三个像素顶点的顺序存储每个像素点对应的索引号,其中,三角形是构成三维模型的基本单位,所述三维模型包括多个三角形。
[0095]
图像渲染模块603,被配置为执行根据存储的索引号,读取与索引号对应的像素坐标,以及对应的像素点的世界坐标和纹理坐标,进行渲染处理生成二维图像对应的三维图像。
[0096]
在一种实施方式中,图像处理模块601具体还被配置为:根据所述二维图像的每个像素点对应的像素坐标、相机的焦距和所述二维图像的每个像素点对应的深度信息,得到所述二维图像的每个像素点的世界坐标。
[0097]
在一种实施方式中,像素点m对应的世界坐标满足其中,m
i,j
表示所述像素点m对应的世界坐标,i,j表示所述像素点m的像素坐标,p0
i,j
表示所述像素点m映射到z=0的平面所对应的像素点的世界坐标,c表示相机镜头的中心点世界坐标(0,0,f),d
i,j
表示所述像素点m的深度信息,f表示相机的焦距。
[0098]
在一种实施方式中,图像处理模块601具体还被配置为:当h小于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
×
h/w,1-j
×
h
y
);当h大于或者等于w时,所述像素点m的纹理坐标满足:m(i,j)=(i
×
w
x
,1-j
×
h
y
×
w/h),其中,w
x
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中x轴的间距,h
y
表示所述二维图像的所述像素点m与相邻像素点在世界坐标中y轴的间距,w表示所述二维图像在x轴的像素分辨率,h表示所述二维图像在y轴的像素分辨率。
[0099]
在一种实施方式中,索引缓存模块602具体被配置:根据图像渲染构成三角形的三个像素顶点的顺时针顺序或者逆时针顺序,依次将每个像素点对应的索引号存入缓存。
[0100]
在一种实施方式中,图像渲染模块603,具体被配置为执行:根据图像渲染构成三角形的所述三个像素顶点对应的色值,通过线性插值算法得到所述三角形区域内的多个像素点中除所述三个像素顶点的缺失纹理信息的像素点对应的色值。
[0101]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0102]
图7是根据一示例性实施例示出的一种装置700的结构示意图,该装置700可以用
于根据上述实施方式生成三维图像。如图7所示,该装置700可以包括至少一个处理器701,通信线路702以及存储器703。
[0103]
处理器701可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本公开方案程序执行的集成电路。
[0104]
通信线路702可包括一通路,在上述组件之间传送信息,例如总线。
[0105]
存储器703可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路702与处理器相连接。存储器也可以和处理器集成在一起。本公开实施例提供的存储器通常可以具有非易失性。其中,存储器703用于存储执行本公开方案所涉及的计算机执行指令,并由处理器701来控制执行。处理器701用于执行存储器703中存储的计算机执行指令,从而实现本公开实施例提供的方法。
[0106]
可选的,本公开实施例中的计算机执行指令也可以称之为应用程序代码,本公开实施例对此不作具体限定。
[0107]
在具体实现中,作为一种实施例,处理器701可以包括一个或多个cpu,例如图7中的cpu0和cpu1。
[0108]
在具体实现中,作为一种实施例,装置700可以包括多个处理器,例如图7中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0109]
在具体实现中,作为一种实施例,装置700还可以包括通信接口704。通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网接口,无线接入网接口(radio access network,ran),无线局域网接口(wireless local area networks,wlan)等。
[0110]
在具体实现中,作为一种实施例,装置700还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。
[0111]
在具体实现中,装置700可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图7中类似结构的设备。本公开实施例不限定装置700的类型。
[0112]
在一些实施例中,图7中的处理器701可以通过调用存储器703中存储的计算机执
行指令,使得装置700执行上述方法实施例中的三维图像生成方法。
[0113]
示例性的,图6中的图像处理模块601、索引缓存模块602和图像渲染模块603的功能/实现过程可以通过图7中的处理器701调用存储器703中存储的计算机执行指令来实现。
[0114]
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器703,上述指令可由装置700的处理器701执行以完成上述方法。
[0115]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
[0116]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由对应的权利要求指出。
[0117]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献