旋转体模型的纹理贴图方法

文档序号:6513411阅读:228来源:国知局
旋转体模型的纹理贴图方法
【专利摘要】本发明公开了一种旋转体模型的纹理贴图方法,包括:S1:判断所述旋转体模型中的可见面片,将所述可见面片的顶点投影到二维纹理图像上,建立三维模型面片顶点和二维纹理图像中投影面片顶点之间的对应关系,所述二维纹理图像为所述旋转体模型对应的旋转体在当前视角所拍摄的图像;S2:将旋转体模型的顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上;S3:对于旋转体模型的侧面,计算所述投影面片的面积与原面片面积的比值,选择比值不小于预定阈值对应投影面片所在的纹理区域为纹理源区域,以纹理源区域两边界进行对称的纹理映射,将侧面的可见面的纹理映射到侧面的不可见面上。本发明能够自动地对旋转体模型进行纹理贴图。
【专利说明】旋转体模型的纹理贴图方法

【技术领域】
[0001]本发明涉及图像处理【技术领域】,特别涉及一种旋转体模型的纹理贴图方法。

【背景技术】
[0002]纹理贴图是计算机图形学里重要的研究课题。三维模型能够给出虚拟世界中物体的几何信息,而将纹理贴在三维模型上后可以渲染出非常逼真的具有真实感的图像。
[0003]建模师在完成建模后往往会花费大量的精力给模型贴纹理。通常情况下,建模师要指定模型中各个顶点在纹理图上的对应点。为了使贴图后的模型更具真实感,纹理图可以取自真实的图片。由于图片是二维的,所以单独一张图片不能提供一个三维模型中所有面片(通常为多边形,如三角形、四边形等)的纹理信息。除非是单独对某一物体拍摄多角度的图片,在很多情况下建模师只有某一张特定角度的该物体的图片。这更加大了对整个物体进行纹理贴图的难度。
[0004]旋转体是一类较为特殊的几何形体。一条平面曲线绕着它所在的平面内的一条定直线旋转所形成的曲面叫旋转面,封闭的旋转面围成的几何体叫旋转体,该直线为旋转体的轴线。许多物体如花瓶、杯子、路灯等都可以看作是旋转体。旋转体广泛存在于现实世界中的人造物体中。
[0005]虽然旋转体模型在几何上具有对称的性质,但是之前的纹理贴图方法均把旋转体模型看作普通的模型,没有充分利用其对称的性质,贴图难度较大,贴图算法复杂高。


【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是:如何实现对旋转体模型算法复杂度低的纹理贴图方法。
[0008](二)技术方案
[0009]为解决上述技术问题,本发明提供了一种旋转体模型的纹理贴图方法,包括以下步骤:
[0010]S1:判断所述旋转体模型中的可见面片,将所述可见面片的顶点投影到二维纹理图像上,建立三维模型面片顶点和二维纹理图像中投影面片顶点之间的对应关系,所述二维纹理图像为所述旋转体模型对应的旋转体在当前视角所拍摄的图像;
[0011]S2:将所述旋转体模型的顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上;
[0012]S3:对于所述旋转体模型的侧面,计算所述投影面片的面积与原面片面积的比值,选择比值在预设范围内的投影面片所在二维纹理图像的区域为纹理源区域,将所述纹理源区域的纹理映射到对应的原面片区域,并以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域。
[0013]其中,所述步骤SI中,计算三维模型每个顶点在三维空间的深度值和在帧缓存中的深度值,比较这两个深度值,如果一致则说明可见,否则不可见。
[0014]其中,所述步骤S2中,将顶面和底面写成极坐标的形式(r,Θ ),r是长度比上直径,取值范围为O ? 1,建立顶面和底面上点的—对应关系,为可见面中面片的顶点和不可见面中面片相对应的顶点分配相同的二维纹理坐标,以将顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上。
[0015]其中,所述预设范围为0.25?0.3。
[0016]其中,步骤S3中,以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域具体包括:
[0017]S31:在所述纹理源区域对应的原面片区域的第一边界折线上选择第一点,在所述纹理源区域对应的原面片区域的第二边界折线上选择第二点,将所述第一点和所述旋转体模型的轴线所确定的面为第一对称面,将所述第二点和所述旋转体模型的轴线所确定的面为第二对称面;
[0018]S32:分别以第一对称面和第二对称面将所述原面片区域的纹理对称地映射到侧面上除所述对应的原面片区域的其它区域。
[0019]其中,步骤S31中选择第一点和第二点的具体方式为:
[0020]计算所述纹理源区域对应原面片区域的第一边界折线上的第一点,所述第一点为所述第一边界折线上离所述侧面的可见面和不可见面的第一交界线最远的点,所述第一交界线是离所述第一边界折线最近的交界线;计算所述纹理源区域对应原面片区域的第二边界折线上的第二点,所述第二点为所述第二边界折线上离所述侧面的可见面和不可见面的第二交界线最远的点,所述第二交界线是离所述第二边界折线最近的交界线。
[0021]其中,所述步骤S3之后还包括:纹理映射后对于纹理重叠区域,用图割的方法找出最优的分割线,以最优分割线为界将所述重叠区域分成两部分,每一部分只保留所述纹理源区域对应的原面片区域沿其的一条边界进行对称的纹理映射后的纹理。
[0022](三)有益效果
[0023]本发明提出的旋转体模型的纹理贴图方法,输入一张旋转体物体的图片、相应视角和位置的该旋转体模型,该方法能够自动地对整个模型表面进行纹理贴图,且贴图时的纹理映射过程相对简单,算法复杂度低。

【专利附图】

【附图说明】
[0024]图1是本发明实施例的一种旋转体模型的纹理贴图方法流程图;
[0025]图2是为旋转体模型示意图;
[0026]图3是图1中步骤SllO中的投影示意图。

【具体实施方式】
[0027]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0028]如图1所示,为本实施例的旋转体模型的纹理贴图方法流程图,包括:
[0029]步骤S110,判断所述旋转体模型中的可见面片,将所述可见面片的顶点投影到二维纹理图像上,建立三维模型面片顶点和二维纹理图像中投影面片顶点之间的对应关系。其中,所述二维纹理图像为所述旋转体模型对应的旋转体在当前视角所拍摄的图像。因为三维模型不同视角下渲染出来的图像都不一样,所以即使拥有了照片中物体的三维模型,也要找到拍摄该照片时的相机位置(即视角),这样渲染出来的模型才能和照片中的物体重口 ο
[0030]本实施例中,判断旋转体模型中可见的面片的方式为:计算模型每个顶点在三维空间的深度值和在帧缓存中的深度值(可以在OpenGL中计算),比较这两个深度值,如果一致则说明可见,否则表示不可见(可见是指计算机显示的旋转体模型在某一视角时可看见的面,按这一视角为旋转体模型的实体拍照便得到了该视角对应的二维纹理图像)。如图2所示,该旋转体侧面的A' B' C' D'区域及顶面为可见面。求出所有可见的面片的顶点在三维空间中的坐标,投影示意图如图3所示,将这些顶点投影到二维纹理图像上。建立二维纹理图像顶点和三维模型面片顶点之间的对应关系。
[0031]步骤S120,将旋转体模型的顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上。该步骤中,首先判断顶面和底面哪个面是可见面(在某一视角顶面和底面通常只有一个面可见,图2中为顶面可见)。然后将顶面和底面写成极坐标的形式(r,Θ),Γ是长度比上直径,取值范围为OSrS 1,这样就可以建立顶面和底面上点的一一对应关系。对可见面中面片的每一个顶点找到不可见面上面片相对应的顶点,分配相同的二维纹理坐标,便可将可见面的纹理映射(即贴图)到不可见面上。
[0032]步骤S130,对于所述旋转体模型的侧面,计算投影在二维纹理图像上后的投影面片的面积与原面片面积的比值,选择比值在预设范围内的投影面片所在二维纹理图像的区域为纹理源区域,将所述纹理源区域的纹理映射到对应的原面片区域,并以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域。其中预设范围保证将映射到对应原面片区域的纹理以所述原面片区域两边界进行对称映射后能够完全覆盖侧面上除对应的原面片区域的其它区域,即对称映射后,旋转体三维模型的侧面不会出现未映射到纹理的区域。
[0033]纹理源区域对应的原面片区域的边界为很多面片边界拼出来的两条折线,如图2所示,旋转体三维模型侧面上两条折线P、q和两条圆弧U、V围成的区域(下称区域puqv)为纹理源区域在旋转体三维模型上对应的原面片区域,即区域puqv对应的二维纹理图像上投影的面积与区域puqv面积的比值在预定范围内,侧面上P与左侧A' B'之间的区域(下称区域P A' B')及q与右侧D' C'之间区域(下称区域q D' C')对应的二维纹理图像上投影的面积分别与区域P A' B'和区域qD' C'面积的比值不在预定范围内。由于区域PA' B'和区域qD' C'在旋转体的两侧,在图2的视角下拍摄的二维图像中,区域pk' Bi和区域qD' C1对应的二维图像相对于区域puqv对应的二维图像存在一定的差异,若采用区域PA' B'和区域qD' C'对应的二维图像直接进行纹理映射,则映射完后区域PA' B'和区域qD' C1的真实感交差。
[0034]本实施例中,以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域的方式可以是:直接以每一小段折线对称地将区域puqv的纹理映射到侧面上的除区域puqv的其他区域(包括不可见面和一部分可见面)。
[0035]优选地,为了计算方便,在所述纹理源区域对应的原面片区域puqv的第一边界折线上选择第一点,在所述纹理源区域对应的原面片区域的第二边界折线上选择第二点,将所述第一点和所述旋转体模型的轴线I所确定的面为第一对称面,将所述第二点和所述旋转体模型的轴线I所确定的面为第二对称面。分别以第一对称面和第二对称面将纹理源区域对应的原面片区域puqv的纹理对称地映射到侧面上除所述对应的原面片区域puqv的其它区域。
[0036]本实施例中,选择第一点和第二点的具体方式为:对于第一边界折线P直接计算出该条折线上离可见面和不可见面的第一交界线A' B'最远的点为第一点P,第一交界线K' B'是离第一边界折线P最近的交界线。将第一点P和旋转体模型的轴线I所确定的面为第一对称面。同理,对于第二边界折线q直接计算出这条折线上离可见面和不可见面的第二交界线C' D'最远的点为第二点Q,第二交界线C' D'是离第二边界折线q最近的交界线。将第二点Q的和旋转体模型的轴线I所确定的面为第二对称面。分别以第一对称面和第二对称面将纹理源区域Puqv的纹理对称地映射到侧面上除所述对应的原面片区域puqv的其它区域,即相当于将ABCD面的纹理映射到侧面上除区域ABCD的其它区域。
[0037]选择边界折线上离可见面和不可见面的交界线最远的点,可以保证在对称映射后边界折线P和q两侧的细长区域都有纹理存在,不会出现空白小块,实现无瑕疵的纹理映射。
[0038]优选地,根据实验结果上述预定范围为0.25?0.3,即在投影后面片的面积与原面片面积的比值在该范围内时,贴图后的纹理效果更接近于真实纹理,而且能保证对称映射后能够完全覆盖侧面上除对应的原面片区域的其它区域。
[0039]由于对称映射后,被映射的侧面会存在纹理重叠的区域,因此还包括步骤S140,在模型背面纹理重叠区域用图割(Graph-Cut)的方法找出最优的分割线,以最优分割线为界将所述重叠区域分成两部分,每一部分只保留所述纹理源区域对应的原面片区域沿其一条边界进行对称的纹理映射后的纹理。
[0040]如图2中,区域AB⑶以AB和I确定的面(即点P与I确定的面)映射后的区域为ABHF,区域AB⑶以⑶和I确定的面(即点Q与I确定的面)映射后的区域为DCGE,EFHG为重叠区域。其中,经过图割算法后得到最优分割线为MN。对于区域EMNG,保留AB⑶以AB和I确定的面映射后的纹理,去除ABCD以CD和I确定的面映射后的纹理,对于区域MNHF,保留AB⑶以⑶和I确定的面映射后的纹理,去除AB⑶以AB和I确定的面映射后的纹理。
[0041]对一幅图像中的每个像素,它的上下左右四个相邻像素为它的邻域。每个像素和它的四个邻域相连(无向边)可以构成一个图。当两幅图像重叠的时候需要找出一条分界线,可以定义一个能量函数,惩罚分界线两边像素的差别,这样分界线上看起来就没用明显的瑕疵,而找出这条分界线就是用图割的方法在建立的图上找。图割就是一种优化能量函数的方法,如最大流/最小割算法、a -expans1n算法、α - β -swap算法等。
[0042]上述步骤S120和S130可交换,对具体顺序不做限制。
[0043]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种旋转体模型的纹理贴图方法,其特征在于,包括以下步骤: S1:判断所述旋转体模型中的可见面片,将所述可见面片的顶点投影到二维纹理图像上,建立三维模型面片顶点和二维纹理图像中投影面片顶点之间的对应关系,所述二维纹理图像为所述旋转体模型对应的旋转体在当前视角所拍摄的图像; 52:将所述旋转体模型的顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上; 53:对于所述旋转体模型的侧面,计算所述投影面片的面积与原面片面积的比值,选择比值在预设范围内的投影面片所在二维纹理图像的区域为纹理源区域,将所述纹理源区域的纹理映射到对应的原面片区域,并以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域。
2.如权利要求1所述的旋转体模型的纹理贴图方法,其特征在于,所述步骤SI中,计算三维模型每个顶点在三维空间的深度值和在帧缓存中的深度值,比较这两个深度值,如果一致则说明可见,否则不可见。
3.如权利要求1所述的旋转体模型的纹理贴图方法,其特征在于,所述步骤S2中,将顶面和底面写成极坐标的形式(r,Θ ),r是长度比上直径,取值范围为OSrS 1,建立顶面和底面上点的一一对应关系,为可见面中面片的顶点和不可见面中面片相对应的顶点分配相同的二维纹理坐标,以将顶面和底面中的可见面的纹理映射到顶面和底面中的不可见面上。
4.如权利要求1所述的旋转体模型的纹理贴图方法,其特征在于,所述预设范围为0.25 ?0.3。
5.如权利要求1所述的旋转体模型的纹理贴图方法,其特征在于,步骤S3中,以所述纹理源区域对应的原面片区域两边界进行对称的纹理映射,将所述原面片区域的纹理映射到侧面上除所述对应的原面片区域的其它区域具体包括: S31:在所述纹理源区域对应的原面片区域的第一边界折线上选择第一点,在所述纹理源区域对应的原面片区域的第二边界折线上选择第二点,将所述第一点和所述旋转体模型的轴线所确定的面为第一对称面,将所述第二点和所述旋转体模型的轴线所确定的面为第二对称面; S32:分别以第一对称面和第二对称面将所述原面片区域的纹理对称地映射到侧面上除所述对应的原面片区域的其它区域。
6.如权利要求1所述的旋转体模型的纹理贴图方法,其特征在于,步骤S31中选择第一点和第二点的具体方式为: 计算所述纹理源区域对应原面片区域的第一边界折线上的第一点,所述第一点为所述第一边界折线上离所述侧面的可见面和不可见面的第一交界线最远的点,所述第一交界线是离所述第一边界折线最近的交界线;计算所述纹理源区域对应原面片区域的第二边界折线上的第二点,所述第二点为所述第二边界折线上离所述侧面的可见面和不可见面的第二交界线最远的点,所述第二交界线是离所述第二边界折线最近的交界线。
7.如权利要求1?6中任一项所述的旋转体模型的纹理贴图方法,其特征在于,所述步骤S3之后还包括:纹理映射后对于纹理重叠区域,用图割的方法找出最优的分割线,以最优分割线为界将所述重叠区域分成两部分,每一部分只保留所述纹理源区域对应的原面片区域沿其的一条边界进行对称的纹理映射后的纹理。
【文档编号】G06T15/04GK104517312SQ201310446992
【公开日】2015年4月15日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】胡事民, 陈韬, 朱哲 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1