CN104346822B - 纹理贴图方法及装置 - Google Patents
纹理贴图方法及装置 Download PDFInfo
- Publication number
- CN104346822B CN104346822B CN201310310266.1A CN201310310266A CN104346822B CN 104346822 B CN104346822 B CN 104346822B CN 201310310266 A CN201310310266 A CN 201310310266A CN 104346822 B CN104346822 B CN 104346822B
- Authority
- CN
- China
- Prior art keywords
- grid
- camera
- visible
- photo
- coordinate system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供一种纹理贴图方法和贴图装置,该方法包括:获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对该建模物体所拍摄的照片以及该摄像头拍摄时的位置信息;根据该位置信息获得每个摄像头对应的可视网格集合;对于被至少两个摄像头可视的每个网格,判断该网格和该至少两个摄像头之间的可视角度,根据该可视角度将该网格指派给该一个摄像头;根据该至少两个摄像头所对应的可视网格集合,将摄像头对该建模物体拍摄的照片作为该可视网格集合中的对应网格的纹理进行贴图。通过本发明实施例,消除一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
Description
技术领域
本发明涉及图形图像技术,尤其涉及一种用于三维建模技术的纹理贴图(TextureMapping)方法及装置。
背景技术
在现实生活中,物体都是以三维几何实体的形式存在。传统的二维平面照片通过明暗对比和透视关系来造成视觉上的空间立体感,无法产生引人入胜的自然立体观感。而三维影像的空间造型与原型接近,不仅具有高度、宽度、深度三维空间几何形体特征,而且具有真实逼真的表面纹理信息,一改平面照片所无法给出的真实感,可给人以亲切、逼真的感觉。
在计算机图形学中,通常用三维模型来对物体建模,三维模型即对应空间实体中的实体,可以通过计算机或者其它视频设备进行显示。显示的三维模型可以是现实世界的实体,也可以是虚构的东西,既可以小到原子,也可以大到很大的尺寸。任何物理自然界存在的东西都可以用三维模型表示。
三维模型包括几何和纹理两部分。其中,几何通常用多边形来或者体素来表示,以用多边形来表达三维模型的几何部分为例,即用多边形表示或者近似表示物体的曲面。它的基本对象是三维空间中的顶点,将两个顶点连接起来的直线称为边,三个顶点经三条边连接起来成为三角形,三角形是欧氏空间中最简单的多边形。多个三角形可以组成更加复杂的多边形,或者生成多于三个顶点的单个物体。四边形和三角形是多边形表达的三维模型中最常用的形状,在三维模型的表达方面,三角网三维模型(或称TIN模型)因其数据结构简单、容易被所有的图形硬件设备绘图等特点成为三维模型表达的一种流行选择,其中每个三角形就是一个表面,因此也将三角形称为三角面片(或者也称为网格Mesh)。
许多三维模型需要使用纹理进行覆盖,将纹理排列放到三维模型上的过程称作纹理贴图。纹理就是一个图像,但是它可以让模型更加细致并且看起来更加真实。在三维建模技术中,纹理贴图过程是使用摄像头在不同角度对建模物体拍摄的照片来对生成的三维模型进行贴图,为了实现准确的贴图,必须准确估计出摄像头拍照时的位置。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
发明人发现现有纹理贴图技术的缺陷在于:在实施现有纹理贴图技术的过程中,往往不能十分准确的估计出摄像头拍照时的位置,因此建模物体的边缘处经常会出现贴图错误。
正是基于上述现有技术的缺陷,本发明实施例提供一种纹理贴图的方法和装置,目的在于:解决由于摄像头位置估计不准确而导致的贴图错误问题。
根据本发明实施例的一个方面,提供一种纹理贴图方法,该方法包括:
获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
对于每个摄像头,根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
对于被至少两个摄像头可视的每个网格,判断所述网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
根据本发明实施例的另一个方面,提供一种纹理贴图装置,该装置包括:
获取单元,其用于获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
网格取得单元,对于每个摄像头,该网格取得单元根据所述位置信息获取对所述摄像头可视的网格,以取得每个摄像头对应的可视网格集合;
判断单元,其用于判断被至少两个摄像头可视的每个网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
贴图单元,其根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
本发明的有益效果在于:对于被至少两个摄像头可视的每个网格,判断该网格和至少两个摄像头之间的可视角度,根据可视角度将网格指派给其中的一个摄像头;可以消除一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
图1是本发明实施例的纹理贴图方法的一个流程示意图;
图2是本发明实施例的获得每个摄像头对应的可视网格集合的一个方法流程图;
图3是本发明实施例的网格归属判定机制示意图;
图4是本发明实施例的纹理贴图方法的另一个流程示意图;
图5是本发明实施例的纹理贴图装置的结构示意图;
图6是网格划分单元的一个结构示意图;
图7是本发明实施例的纹理贴图装置的另一个结构示意图。
具体实施方式
参照附图,通过下面的说明书,本发明的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明包括落入所附权利要求的范围内的全部修改、变型以及等同物。
实施例1
本发明实施例1提供一种纹理贴图方法,图1是本发明实施例的纹理贴图方法的一个流程示意图。如图1所示,该纹理贴图方法包括:
步骤101:获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
步骤102:对于每个摄像头,根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
步骤103:对于被至少两个摄像头可视的每个网格,判断所述网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
步骤104:根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
在步骤101中,获取纹理贴图所需要的元素。由于纹理贴图是将不同角度的摄像头对建模物体所拍摄的照片(即纹理)排列放到三维模型上,因此,为了实现纹理贴图,所需要的元素至少包括建模物体的三维模型、至少两个摄像头对建模物体所拍摄的照片以及该至少两个摄像头拍摄时的位置信息。
其中,建模物体的三维模型可以由一系列相连的三角形网格来构建,但是,在另一些实施方式中,也可以根据建模物体的形状选择四边形网格或其它的多边形网格来构建物体的三维模型。本发明以三角形网格为例,对实施例进行说明。
在具体生成三维模型的过程中,三角形网格的细密程度,即三角形的尺寸,将影响到三维建模与实际建模物体的接近程度,并且,三角形尺寸越小,贴图的精度也就越高,从而更逼真地反映建模物体的影像。因此,可以根据三维建模的逼真度要求来划分三角形网格。
并且,由各个位置的摄像头对建模物体所拍摄的照片可以反映建模物体在不同侧面所呈现的影像,因此,获得每个摄像头在摄像时所处的位置信息,对于准确地贴图至关重要,该位置信息例如可以由平移矩阵T(3x1的矩阵)和旋转矩阵R(3x3的矩阵)来描述。
此外,随着摄像头数量的增多,能够反映建模物体在更多角度所呈现的影像,从而提高贴图的精细程度,更真实地反映建模物体的外观,当然,摄像头数量的增多会导致成本的升高。在本发明的实施例中,以两个摄像头为例进行说明。
在对纹理贴图所需要的元素进行输入以后,在步骤102中获得每个摄像头对应的可视网格集合,该可视网格集合中的网格将使用与之对应的摄像头所拍摄的照片进行贴图。
但是在每个摄像头所对应的可视网格集合中有可能出现这样的情况:对于某些网格来说,同时属于两个摄像头所对应的可视网格集合,即,这些网格对于两个摄像头都是可视的,因此,对于这些网格,有可能两个摄像头所拍摄的照片都对该网格进行贴图,造成重复贴图。由于每个摄像头所拍摄的照片角度不同,所以重复贴图会形成贴图的混乱,从而造成贴图错误。
所以,在步骤103中,需要针对这些能同时被两个摄像头可视的网格进行进一步的判断,在一种实施方式中,例如可以判断这些网格中的每一个网格与两个摄像头之间的可视角度,根据可视角度将该网格指派给某一个摄像头。在一个具体实施方式中,例如可以将该网格指派给可视角度最小的摄像头;当然,在其它的实施方式中,也可以将该网格指派给具有其它特定可视角度的摄像头。
经过步骤103,消除了一个网格同时属于两个摄像头对应的可视网格集合的情况。在接下来的步骤104中,将每个摄像头对建模物体所拍摄到的照片排列到该摄像头所对应的可视网格上,进行纹理贴图。
由上述实施例可知,在确定每个摄像头的可视网格集合时,对于被两个摄像头均可视的网格,根据该网格与两个摄像头的可视角度,将该网格指派给其中的一个摄像头,从而消除了一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
实施例2
本发明实施例提供一种纹理贴图方法,在实施例1的基础上对本发明进行进一步的说明。其中与实施例1相同的内容不再赘述。
图2是本发明实施例的获得每个摄像头对应的可视网格集合的一个方法流程图,示出了步骤102的具体内容。在本实施例中,如图2所示,获得每个摄像头对应的可视网格集合的方法可以包括:
步骤201:将三维模型的所有网格投射到该摄像头的坐标系统;
步骤202:使用该摄像头的自身参数以及拍摄时的位置信息,将所有网格从该摄像头的坐标系统转换到照片坐标系统;
步骤203:对于每一个网格,当该网格在该照片坐标系统中的值处于预定的范围时,将该网格加入到该摄像头对应的可视网格集合。
为了判断三维模型的网格是否属于该摄像头对应的可视网格集合,需要首先将所有网格投射到该摄像头的坐标系,并从该摄像头的坐标系进一步投射到该摄像头所拍摄的照片所处的照片坐标系,进而根据该网格在照片坐标系中位置来判断该网格是否被该摄像头可视。
下面,对每个步骤分别进行说明。
在步骤201中,将构成三维模型的每一个三角形网格从基础坐标系中变换到摄像头坐标系中。
在一个实施方式中,可以假设三角形网格的任一顶点在基础坐标系中的坐标为(Xo,Yo,Zo),则该顶点在摄像头坐标系下的三维坐标(Xc,Yc,Zc)为
其中,T为平移矩阵,R为旋转矩阵。
接下来,在步骤202中,将三角形顶点的坐标从摄像头坐标系下变换到照片坐标系中,其中,照片坐标系是一个二维的坐标系。
在一个具体的实施方式中,上述向照片坐标系的变换可以使用摄像头的内部参数,例如摄像头焦距、摄像头中心坐标等参数。具体地,三角形顶点在照片坐标系下的坐标值(u,v)满足下式:
其中(fx,fy)为摄像头焦距,(cx和,cy)为相机中心坐标值。
在得到了三角形顶点在照片坐标系下的坐标值以后,在步骤203中,判断每一个三角形网格在照片坐标系下的值是否处于预定的范围内,从而判断该三角形网格是否被该摄像头可视。
在一个具体的实施方式中,可以在该三角形网格的每一个顶点的坐标值都小于相应的预设值时,将该三角形网格判定为被该摄像头可视。例如,三角形网格的顶点在照片坐标系下的坐标(u,v)满足u∈[0,width];v∈[0,height]则认为该顶点位于该摄像头的视角范围内,其中,width是该摄像头视角范围的宽度,height是该摄像头视角范围的高度;如果该三角形网格的三个顶点都在该摄像头的视角范围内,那么该三角形网格被认为位于该摄像头的视角范围内。
从上述说明可知,在步骤203中,通过三维模型的网格在照片坐标系中的坐标值范围来判断该网格是否被该摄像头可视。
经过上述处理,确定了每一个摄像头所对应的可视网格集合,但是由于三角形网格可能对多个摄像头同时可见,这些集合还可能包含重复的三角形网格,因此需要引入一种判决机制让每一个可见的三角形网格仅对应于一个摄像头。
在本发明的步骤103中,对于被至少两个摄像头可视的每个网格,判断该网格和所述至少两个摄像头之间的可视角度,根据可视角度将该网格指派到所述至少两个摄像头中的一个摄像头对应的可视网格集合。
图3是本发明实施例所采用的网格归属判定机制示意图。如图3所示,n是三角形网格301的法向量,v1、v2是从摄像头302、303到三角形网格301的顶点的视线向量,α、β是摄像头302、303与三角形网格301之间的可视角度,摄像头302、302与三角形网格301之间的可视角度最小的那个摄像头将被判定为该三角形网格对应的摄像头。在图3中,α﹤β,因此,三角形网格301被指派到摄像头302所对应的可见网格集合中。
接下来,对图3所示的可视角度的计算过程进行说明。
在摄像头302所对应的可视网格集合中挑选待指派的三角形网格301。在摄像头302的坐标系统中,该摄像头302的位置坐标为O(0,0,0),并且,根据步骤201的计算方法能够得出该三角形网格301在摄像头302的坐标系统中的坐标值,假设该三角形网格301的三个顶点A、B、C在摄像头302的坐标系统中的坐标值分别为:A(x1,y1,z1);
B(x2,y2,z2);
C(x3,y3,z3)。
接下来,从上述三个顶点A、B、C中任意取一顶点计算该摄像头302到该三角形网格301的视线向量v1,不失一般性,可以选择顶点A来计算该视线向量v1。该视线向量v1被表示为:
vx=-x1;
vy=-y1;
vz=-z1;
下一步,计算三角形网格301的法向量n,该三角形网格301的法向量n被表示为:
nx=(y1-y0)*(z2-z0)-(y2-y0)*(z1-z0);
ny=(z1-z0)*(x2-x0)-(z2-z0)*(x1-x0);
nz=(x1-x0)*(y2-y0)-(y1-y0)*(x2-x0)。
最后,根据上面计算出的视线向量v1和法向量n计算可视角度α:
α=arccos(vx*nx+vy*ny+vz*nz);
上面的计算过程是以顶点A为例计算视线向量v1和法向量n,在其它的实施方式中,也可以选取顶点B或C来计算视线向量和法向量,进而计算可视角度。由于三角形网格的尺寸相对于该三角形网格与摄像头的距离而言是比较小的值,因此,选取任何一个顶点计算出的可视角度非常接近,可以认为它们是相同的。
以上的示例说明了第一摄像头302与三角形网格301的可视角度α的计算过程,可以采用相同的方法,在第二摄像头303的坐标系统下计算第二摄像头303与三角形网格301的可视角度β。
经过上述计算过程,能够确定第一摄像头302和第二摄像头303与三角形网格301的可视角度,根据该可视角度能够将该三角形网格进一步指派到某一个摄像头所对应的可视网格集合中。
由此,第一摄像头302和第二摄像头303所对应的可视网格集合中的每一个网格都对应唯一的摄像头,由该摄像头所拍摄的建模物体的照片就相应地作为该网格的纹理。
接下来,采用实施例1的步骤103的方法进行贴图。在一个实施方式中,可以将第一摄像头302和第二摄像头303所拍摄的照片分别排列到每一个摄像头所对应的可视网格上。在具体实现贴图的过程中,可以根据可视网格的每个顶点所对应的纹理的坐标进行贴图,该纹理的坐标可以等于步骤202中得到的该顶点在照片坐标系下的坐标(u,v)。
由上述实施例可知,在确定每个摄像头的可视网格集合时,对于被两个摄像头均可视的网格,根据该网格与两个摄像头的可视角度,将该网格指派到一个摄像头所对应的可视网格集合中,从而消除了一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
实施例3
本发明实施例提供一种纹理贴图方法,在实施例1和2的基础上对本发明进行进一步的说明。其中与实施例1和2相同的内容不再赘述。
图4是本发明实施例的纹理贴图方法的另一个流程示意图。在本实施例中,如图4所示,获得每个摄像头对应的可视网格集合的方法可以包括:
步骤401:获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
步骤402:对于每个摄像头,根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
步骤403:当判断所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格;
步骤404:对于被至少两个摄像头可视的每个网格,判断所述网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
步骤405:根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
在本实施例中,步骤401、步骤402、步骤404、步骤405的实现方式与实施例1、2中的步骤101-步骤104相同,此处不再重复说明。
本实施例是基于以下的场景:在某些具体的实施方式中,三维模型的网格有可能被其它网格遮挡,在实际拍照时,无法获得被遮挡的网格所对应的照片。在这种情况下,虽然被遮挡的网格在照片坐标系下的坐标值也处在该摄像头的视角范围内,但是,这些被遮挡的网格对于摄像头来说,实际上是不可视的,需要将他们从该摄像头对应的可视网格集合中去除。
因此,在本发明的一个实施方式中,在步骤402得到了每个摄像头对应的可视网格集合之后,还可以具有步骤403,判断可视网格集合中具有被遮挡的网格时,去除这些被遮挡的网格,从而保证可视网格集合中的每一个网格都被对应的摄像头实际可视。
在具体实施步骤403之前,还可以根据网格的顶点在照片坐标系统下的坐标值和在摄像头坐标系统下的坐标值来判断可视网格集合中是否存在被遮挡的网格。
例如,当可视网格的某一顶点在照片坐标系统下位于其它可视网格的投影范围内,且该顶点在摄像头坐标系统下的位置比所述其它可视网格在摄像头坐标系统下的位置更远离所述摄像头,则确定包含该顶点的可视网格是被遮挡的网格。
在一个具体的实施方式中,可以通过以下的方式判断并去除被遮挡的网格:
首先,对于任意一个在步骤402中被判断为被某摄像头可见的三角形网格ΔABC,假设该三角形网格在照片坐标系下投影出三角形Δabc,其中,该三角形Δabc的三个顶点坐标分别为a(u1,v1)、b(u2,v2)、c(u3,v3)。
其次,计算Δabc的外接圆,并且判断被该摄像头可见的三角形网格中哪些三角形的顶点投影后的坐标落入该外接圆中。
最后,对于落入该外接圆内的顶点,进行更进一步的判断,当该顶点在摄像头坐标系下的z坐标比ΔABC的任意一个顶点在摄像头坐标系下的z坐标都大(即,该顶点比ΔABC的任意一个顶点都更加远离对应的摄像头),并且该顶点在照片坐标系下又落入Δabc中,则判断包含该顶点的三角形网格被ΔABC所遮挡,于是,将该三角形网格从该摄像头对应的可见网格集合中去除。
需要说明的是,尽管上述实施方式是以三角形网格为例进行的说明,但是上述方法同样适用于其他多边形网格的情况。
由上述实施例可知,在确定每个摄像头的可视网格集合后,当判断所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格,并且对于被两个摄像头均可视的网格,根据该网格与两个摄像头的可视角度,将该网格指派到一个摄像头所对应的可视网格集合中,从而消除了一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
本发明实施例还提供了一种纹理贴图装置,如下面的实施例4所述,由于该装置解决问题的原理与实施例1、实施例2以及实施例3的方法类似,因此其具体的实施可以参照实施例1和实施例2的方法的实施,内容相同之处不再重复说明。
实施例4
本发明实施例4提供一种纹理贴图装置。图5是本发明实施例的纹理贴图装置的结构示意图。如图5所示,该纹理贴图装置500包括:
获取单元501,其用于获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
网格取得单元502,对于每个摄像头,所述网格取得单元根据所述位置信息获取对所述摄像头可视的网格,以取得每个摄像头对应的可视网格集合;
判断单元503,其用于判断被至少两个摄像头可视的每个网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
贴图单元504,其根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
关于该纹理贴图装置500的每一个单元的具体操作方式,可参考实施例1、2中对步骤101-104的具体描述。
图6是网格取得单元502的一个结构示意图。如图6所示,网格取得单元502包括:
第一坐标变换单元601,其将所述三维模型的所有网格投射到所述摄像头的坐标系统;
第二坐标变换单元602,其使用所述摄像头的自身参数以及拍摄时的位置信息,将所有网格从所述摄像头的坐标系统转换到照片坐标系统;
网格加入单元603,其用于当确定网格在所述图像坐标系统中处于预定的范围时,将所述网格加入到所述摄像头对应的可视网格集合。
关于该网格划分单元502的每一个单元的具体操作方式,可参考实施例2中对步骤201-203的具体描述。
在另一个实施方式中,纹理贴图装置700还可以具有网格去除单元。图7是纹理贴图装置700的另一个结构示意图,如图7所示,该纹理贴图装置700包括:
获取单元701,其用于获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
网格取得单元702,对于每个摄像头,所述网格取得单元根据所述位置信息获取对所述摄像头可视的网格,以取得每个摄像头对应的可视网格集合;
网格去除单元703,其用于当判断所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格。
判断单元704,其用于判断被至少两个摄像头可视的每个网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
贴图单元705,其根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
在一个具体的实施方式中,还可以具有一个遮挡判断单元,其根据网格的顶点在照片坐标系统下的坐标值和在摄像头坐标系统下的坐标值来判断可视网格集合中是否存在被遮挡的网格。
关于该纹理贴图装置700的每一个单元的具体操作方式,可参考实施例3中对步骤401-405的具体描述。
在本实施方式中,在确定每个摄像头的可视网格集合时,对于被两个摄像头均可视的网格,根据该网格与两个摄像头的可视角度,将该网格指派到一个摄像头所对应的可视网格集合中,从而消除了一个网格同时被两个摄像头所拍摄的照片进行贴图的情况,因此可以消除对网格的重复贴图,降低贴图的错误性。
本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。
以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。
关于包括以上实施例的实施方式,还公开下述的附记:
(附记1)一种纹理贴图方法,其特征在于,该方法包括:
获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
对于每个摄像头,根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
对于被至少两个摄像头可视的每个网格,判断所述网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
(附记2)根据附记1所述的方法,其中,对于被至少两个摄像头可视的每个网格,将该网格指派给所述可视角度最小的摄像头。
(附记3)根据附记1所述的方法,其中,获得每个摄像头对应的可视网格集合包括:
将所述三维模型的所有网格投射到所述摄像头的坐标系统;
使用所述摄像头的自身参数以及拍摄时的位置信息,将所有网格从所述摄像头的坐标系统转换到照片坐标系统;
对于每一个网格,当所述网格在所述图像坐标系统中的值处于预定的范围时,将所述网格加入到所述摄像头对应的可视网格集合。
(附记4)根据附记3所述的方法,其中,对于每一个网格,当所述网格的每个顶点的坐标值均小于预设值时,将所述网格加入到所述摄像头对应的可视网格集合。
(附记5)根据附记3所述的方法,其中,所述预设值为该摄像头的图像大小
u∈[0,width];v∈[0,height],
其中,u和v为该顶点在照片坐标系下的坐标值,width和height为摄像头的图像的宽度和高度。
(附记6)根据附记3所述的方法,其中,将所述三维模型的所有网格投射到该摄像头的坐标系统,采用如下公式:
其中,T为平移矩阵,R为旋转矩阵。
(附记7)根据附记3所述的方法,其中,使用该摄像头的自身参数将所有网格从该摄像头的坐标系统转换到照片坐标系统,采用如下公式:
其中,fx和fy为该摄像头的焦距,cx和cy为该摄像头的中心点坐标。
(附记8)根据附记1-4之一所述的方法,其中,所述纹理贴图的方法还包括:
当确定所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格。
(附记9)根据附记8所述的方法,其中,所述纹理贴图方法还包括:
根据网格的顶点在照片坐标系统下的坐标值和在摄像头坐标系统下的坐标值来判断所述可视网格集合中是否存在被遮挡的网格。
(附记10)一种纹理贴图装置,其特征在于,该纹理贴图装置包括:
获取单元,其用于获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
网格取得单元,对于每个摄像头,所述网格取得单元根据所述位置信息获取对所述摄像头可视的网格,以取得每个摄像头对应的可视网格集合;
判断单元,其用于判断被至少两个摄像头可视的每个网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
贴图单元,其根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
(附记11)根据附记10所述的装置,其中,对于被至少两个摄像头可视的每个网格,所述网格归属判定单元将该网格指派给所述可视角度最小的摄像头。
(附记12)根据附记11所述的装置,其中,所述网格取的单元包括:
第一坐标变换单元,其将所述三维模型的所有网格投射到所述摄像头的坐标系统;
第二坐标变换单元,其使用所述摄像头的自身参数以及拍摄时的位置信息,将所有网格从所述摄像头的坐标系统转换到照片坐标系统;
网格加入单元,其用于当确定网格在所述图像坐标系统中处于预定的范围时,将所述网格加入到所述摄像头对应的可视网格集合。
(附记13)根据附记12所述的装置,其中,当该网格的每个顶点的坐标值均小于预设值时,该网格划分单元将该网格加入到该摄像头对应的可视网格集合。
(附记13)根据附记13所述的装置,其中,所述预设值为该摄像头的图像大小
u∈[0,width];v∈[0,height],
其中,u和v为该顶点在照片坐标系下的坐标值,width和height为摄像头的图像的宽度和高度。
(附记15)根据附记12所述的方法,其中,所述第一坐标变换单元将所述三维模型的所有网格投射到该摄像头的坐标系统,采用如下公式:
其中,T为平移矩阵,R为旋转矩阵。
(附记16)根据附记12所述的方法,其中,所述第二坐标变换单元使用该摄像头的自身参数将所有网格从该摄像头的坐标系统转换到照片坐标系统,采用如下公式:
(附记17)根据附记12所述的装置,其中,所述纹理贴图装置还包括:
网格去除单元,其用于当确定所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格。
(附记18)根据附记17所述的装置,其中,所述纹理贴图装置还包括:
遮挡判断单元,其根据网格的顶点在照片坐标系统下的坐标值和在摄像头坐标系统下的坐标值来判断可视网格集合中是否存在被遮挡的网格。
(附记19)一种计算机可读程序,其中当在图像处理装置中执行所述程序时,所述程序使得计算机在所述图像处理装置中执行如附记1至附记9中任一项所述的纹理贴图方法。
(附记20)一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在图像处理装置中执行如附记1至9中任一项所述的纹理贴图方法。
Claims (10)
1.一种纹理贴图方法,其特征在于,所述纹理贴图方法包括:
获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
对于每个摄像头,根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
对于被至少两个摄像头可视的每个网格,判断所述网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
2.根据权利要求1所述的纹理贴图方法,其中,对于被至少两个摄像头可视的每个网格,将所述网格指派给所述可视角度最小的摄像头。
3.根据权利要求1所述的纹理贴图方法,其中,获得每个摄像头对应的可视网格集合包括:
将所述三维模型的所有网格投射到所述摄像头的坐标系统;
使用所述摄像头的自身参数以及拍摄时的位置信息,将所有网格从所述摄像头的坐标系统转换到照片坐标系统;
对于每一个网格,当所述网格在所述照片坐标系统中的值处于预定的范围时,将所述网格加入到所述摄像头对应的可视网格集合。
4.根据权利要求3所述的纹理贴图方法,其中,对于每一个网格,当所述网格的每个顶点的坐标值均小于预设值时,将所述网格加入到所述摄像头对应的可视网格集合。
5.根据权利要求1至4任一项所述的纹理贴图方法,其中,所述纹理贴图方法还包括:
当判断所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格。
6.根据权利要求5所述的纹理贴图方法,其中,所述纹理贴图方法还包括:
根据网格的顶点在照片坐标系统下的坐标值和在摄像头坐标系统下的坐标值来判断所述可视网格集合中是否存在被遮挡的网格。
7.一种纹理贴图装置,其特征在于,所述装置包括:
获取单元,其用于获取建模物体的由一系列相连的网格描述的三维模型、至少两个摄像头对所述建模物体所拍摄的照片以及所述至少两个摄像头拍摄时的位置信息;
网格划分单元,对于每个摄像头,所述网格化分单元根据所述位置信息获取对所述摄像头可视的网格,以获得每个摄像头对应的可视网格集合;
判断单元,其用于判断被至少两个摄像头可视的每个网格和所述至少两个摄像头之间的可视角度,根据所述可视角度将所述网格指派给所述至少两个摄像头中的一个摄像头,以更新所述至少两个摄像头所对应的可视网格集合;
贴图单元,其根据所述至少两个摄像头所对应的可视网格集合,将摄像头对所述建模物体拍摄的照片作为所述可视网格集合中的对应网格的纹理进行贴图。
8.根据权利要求7所述的装置,其中,对于被至少两个摄像头可视的每个网格,所述判断单元将所述网格指派给所述可视角度最小的摄像头。
9.根据权利要求7所述的装置,其中,所述网格划分单元包括:
第一坐标变换单元,其将所述三维模型的所有网格投射到所述摄像头的坐标系统;
第二坐标变换单元,其使用所述摄像头的自身参数以及拍摄时的位置信息,将所有网格从所述摄像头的坐标系统转换到照片坐标系统;
网格加入单元,其用于当确定网格在所述照片坐标系统中处于预定的范围时,将所述网格加入到所述摄像头对应的可视网格集合。
10.根据权利要求7-9所述的装置,其中,所述纹理贴图装置还包括:
网格去除单元,其用于当确定所述可视网格集合中存在被遮挡的网格时,去除所述被遮挡的网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310310266.1A CN104346822B (zh) | 2013-07-23 | 2013-07-23 | 纹理贴图方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310310266.1A CN104346822B (zh) | 2013-07-23 | 2013-07-23 | 纹理贴图方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104346822A CN104346822A (zh) | 2015-02-11 |
CN104346822B true CN104346822B (zh) | 2017-07-21 |
Family
ID=52502360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310310266.1A Active CN104346822B (zh) | 2013-07-23 | 2013-07-23 | 纹理贴图方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104346822B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547678B (zh) * | 2018-12-11 | 2021-09-14 | 联想(北京)有限公司 | 一种处理方法、装置、设备及可读存储介质 |
CN113763545A (zh) * | 2021-09-22 | 2021-12-07 | 拉扎斯网络科技(上海)有限公司 | 图像确定方法、装置、电子设备和计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426712A (zh) * | 2011-11-03 | 2012-04-25 | 中国科学院自动化研究所 | 一种基于两幅图像的三维头部建模方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW594594B (en) * | 2003-05-16 | 2004-06-21 | Ind Tech Res Inst | A multilevel texture processing method for mapping multiple images onto 3D models |
CN100430963C (zh) * | 2005-09-29 | 2008-11-05 | 中国科学院自动化研究所 | 基于正交图像的快速个性化人脸建模方法 |
KR101145260B1 (ko) * | 2007-04-05 | 2012-05-25 | 삼성전자주식회사 | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 |
JP5011224B2 (ja) * | 2008-07-09 | 2012-08-29 | 日本放送協会 | 任意視点映像生成装置及び任意視点映像生成プログラム |
US8531473B2 (en) * | 2009-07-28 | 2013-09-10 | Technion R&D Foundation Ltd. | Photogrammetric texture mapping using casual images |
-
2013
- 2013-07-23 CN CN201310310266.1A patent/CN104346822B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426712A (zh) * | 2011-11-03 | 2012-04-25 | 中国科学院自动化研究所 | 一种基于两幅图像的三维头部建模方法 |
Non-Patent Citations (1)
Title |
---|
三维重建中纹理映射的研究;张强;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100415;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104346822A (zh) | 2015-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6529192B1 (en) | Method and apparatus for generating mesh models of 3D objects | |
Guillou et al. | Using vanishing points for camera calibration and coarse 3D reconstruction from a single image | |
KR101388133B1 (ko) | 2차원 실사 영상으로부터 3차원 모델을 생성하는 방법 및장치 | |
CN104680573B (zh) | 一种基于三角网格简化的纹理映射方法 | |
CN102782728B (zh) | 用于实时渲染的依赖于连接性的几何学优化 | |
CN106780709B (zh) | 一种确定全局光照信息的方法及装置 | |
CN104361624B (zh) | 一种计算机三维模型中全局光照的渲染方法 | |
CN104504760B (zh) | 实时更新三维图像的方法和系统 | |
JP2014507723A5 (zh) | ||
US20120081357A1 (en) | System and method for interactive painting of 2d images for iterative 3d modeling | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
CN105513063A (zh) | Veronese映射和棋盘格标定拋物折反射摄像机 | |
Weller et al. | A brief overview of collision detection | |
CN104463959A (zh) | 一种生成立方体环境贴图的方法 | |
Osman Ulusoy et al. | Dynamic probabilistic volumetric models | |
CN103955960A (zh) | 一种基于单幅输入图像的图像视点变换方法 | |
CN104346822B (zh) | 纹理贴图方法及装置 | |
CN109448135A (zh) | 一种基于多源数据的三维模型修补的方法 | |
CN108038900A (zh) | 倾斜摄影模型单体化方法、系统及计算机可读存储介质 | |
CN108389222A (zh) | 一种基于图像序列的三维模型重建方法 | |
Kumara et al. | Real-time 3D human objects rendering based on multiple camera details | |
Badler et al. | 3D object modeling | |
CN107895398B (zh) | 结合视觉显著性的浮雕编辑方法 | |
JP2021033682A (ja) | 画像処理装置、方法及びプログラム | |
CN102881036B (zh) | 一种动画场景文件压缩的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |