用于纹理贴图的方法、装置和存储介质

文档序号:192777 发布日期:2021-11-02 浏览:38次 >En<

阅读说明:本技术 用于纹理贴图的方法、装置和存储介质 (Method, apparatus and storage medium for texture mapping ) 是由 程谟方 赵靖 于 2021-09-27 设计创作,主要内容包括:本公开实施例公开了一种用于纹理贴图的方法、装置和存储介质,其中,该方法包括:响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与至少两个子片元的对应关系,得到细分后的网格,其中,待细分片元为尺寸参数大于预设的尺寸阈值的片元,预设条件为尺寸参数小于或等于尺寸阈值;对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。可以对含有任意大小的片元的网格进行纹理贴图,且不会增加纹理贴图后的网格中片元的数量,从而避免了纹理贴图导致网格的复杂程度增加。(The embodiment of the disclosure discloses a method, a device and a storage medium for texture mapping, wherein the method comprises the following steps: in response to the fact that the target grid to be processed is determined to have the fragments to be subdivided, subdividing the fragments to be subdivided into at least two sub-fragments which meet preset conditions, and determining the corresponding relation between the fragments to be subdivided and the at least two sub-fragments to obtain the subdivided grid, wherein the fragments to be subdivided are the fragments of which the size parameters are larger than a preset size threshold, and the preset conditions are that the size parameters are smaller than or equal to the size threshold; performing texture mapping on the subdivided grid to obtain a texture mapping result of the subdivided grid; and mapping the texture mapping result of the subdivided grid to the target grid based on the corresponding relation to obtain the texture mapping result of the target grid. The method can be used for texture mapping of the grid containing the fragments with any size, and the number of the fragments in the grid after texture mapping is not increased, so that the increase of the complexity of the grid caused by the texture mapping is avoided.)

用于纹理贴图的方法、装置和存储介质

技术领域

本公开涉及计算机视觉领域,尤其涉及一种用于纹理贴图的方法、装置和存储介质。

背景技术

纹理贴图是使用图像、函数或其他数据源来改变模型(例如基于点云生成的网格)表面外观的技术。通过这种方式将图像和模型表面结合起来,可以在使模型看起来更加真实。

在对模型进行纹理贴图时,模型中过大的片元不能被任意视角所覆盖,进而不能对该片元进行纹理贴图。

相关技术中,通常是将过大的片元进行细分,然后对细分后的片元进行纹理贴图,以此实现对模型的纹理贴图,增加了模型中片元的数量及复杂程度。

发明内容

本公开实施例提供一种方法、装置和存储介质,以解决相关技术中对片元细分后的模型进行纹理贴图后,导致模型的复杂程度增加的问题。

本公开实施例的一个方面,提供一种用于纹理贴图的方法,包括:响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格,其中,待细分片元为尺寸参数大于预设的尺寸阈值的片元,预设条件为尺寸参数小于或等于尺寸阈值;对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。

在一些实施例中,响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,包括:将目标网格作为当前网格;遍历当前网格;若当前网格中存在待细分片元,将待细分片元细分为至少两个候选子片元,得到更新后的网格;将更新后的网格作为当前网格,并再次遍历当前网格;若当前网格中不存在待细分片元,将当前网格中的候选子片元确定为子片元,并将当前网格确定为细分后的网格。

在一些实施例中,待细分片元经由如下方式确定:响应于确定片元的最长边的长度大于预设的长度阈值,将该片元确定为待细分片元。

在一些实施例中,将待细分片元细分为至少两个候选子片元,得到更新后的网格,包括:在待细分片元的最长边的预设位置插入新顶点;基于新顶点和待细分片元中已有的旧顶点,将待细分片元细分为至少两个候选子片元,得到细分后的当前网格;响应于确定各新顶点均为单纯复合型顶点,将细分后的当前网格确定为更新后的网格。

在一些实施例中,目标网格经由如下步骤得到:从待处理点云中提取网格表面,并确定网格表面中的初始片元,得到初始网格,待处理点云为在目标场景中采集得到的点云;基于预设的网格简化算法,将初始网格中符合预设过滤条件的初始片元删除,得到目标网格。

在一些实施例中,对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果,包括:获取纹理图片集,纹理图片集包括纹理图片,纹理图片为采集自目标场景的图像;基于采集纹理图片的设备的位姿信息与采集待处理点云的设备的位姿信息,确定纹理图片相对于目标网格的相对位姿;基于纹理图片相对于目标网格的相对位姿,确定细分后的网格中的片元对应的纹理图片;基于细分后的网格中的顶点的几何坐标与细分后的网格中的片元对应的纹理图片,确定细分后的网格中的顶点的纹理坐标;基于细分后的网格中的顶点的纹理坐标,确定细分后的网格中的片元在纹理图片中的映射区域,得到细分后的网格的纹理贴图结果。

在一些实施例中,基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果,包括:从细分后的网格的纹理贴图结果中确定出至少一个子片元集,每个子片元集中的各个子片元对应于同一个纹理图片且连通;基于子片元集中各子片元的顶点的纹理坐标,确定出子片元集在对应的纹理图片中的映射区域;基于对应关系,确定子片元集对应的待细分片元;基于子片元集在对应的纹理图片中的映射区域以及子片元集对应的待细分片元中顶点的几何坐标,确定子片元集对应的待细分片元的顶点的纹理坐标;基于子片元集对应的待细分片元的顶点的纹理坐标,确定子片元集对应的待细分片元的在纹理图片中的映射区域,得到待细分片元的纹理贴图结果。

在一些实施例中,基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果,之前该方法还包括:从细分后的网格的纹理贴图结果中确定出待调整片元集,每个待调整片元集中的各片元对应于不同纹理图片且连通;对待调整片元集中各片元在纹理图片中的映射区域进行颜色调整。

本公开实施例的又一个方面,提供一种用于纹理贴图的装置,包括:片元细分单元,被配置成响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格,其中,待细分片元为尺寸参数大于预设的尺寸阈值的片元,预设条件为尺寸参数小于或等于尺寸阈值;纹理贴图单元,被配置成对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;结果映射单元,被配置成基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。

本公开实施例的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述权任一实施例中的用于纹理贴图的方法。

本公开的用于纹理贴图的方法,首先目标网格中尺寸参数大于预设的尺寸阈值的待细分片元为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格值;然后对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;之后基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。可以对含有任意大小的片元的网格进行纹理贴图,且不会增加纹理贴图后的网格中片元的数量,从而避免了纹理贴图导致网格的复杂程度增加,以免为后续网格的存储、传输以及渲染等处理过程带来额外的运算压力。下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1为本公开的一些实施例可以应用于其中的示例性系统架构图;

图2为本公开的用于纹理贴图的方法的一个实施例的流程图;

图3为图2所示的实施中细分后的网格的贴图结果;

图4为图2所示的实施例中目标网格的贴图结果;

图5为图2所示的实施例中将待细分片元细分为至少两个子片元的流程图;

图6是图3所示的实施例中确定更新后的网格的流程图;

图7是本公开的用于纹理贴图的方法的又一个实施例的流程图;

图8是本公开的用于纹理贴图的方法的又一个实施例的流程图;

图9是本公开的用于纹理贴图的装置的一个实施例的结构示意图;

图10为本公开的电子设备的一个应用实施例的结构示意图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

在实现本公开的过程中,发明人发现,相关技术中对含有过大片元的模型进行纹理贴图时,通常是将过大片元细分为较小的片元,再对细分后的模型进行纹理贴图,并以此作为模型的纹理贴图结果。如此一来,纹理贴图后的模型中片元的数量会变多,进而导致纹理贴图后的模型存在较多的冗余数据,为后续的存储、传输以及渲染等处理过程带来额外的运算压力。

请参考图1,图1示出了本公开的实施例的用于纹理贴图的方法或用于纹理贴图的装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以发送或接收数据等,例如可以将待处理的目标网格发送至服务器,还可以从服务器接收目标网格的纹理贴图结果。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具备通信功能的电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供纹理贴图服务的服务器,例如对终端设备101、102、103发送的目标网格进行纹理贴图的后台应用服务器。后台应用服务器可以根据接收到的目标网格进行纹理贴图,并将处理结果(例如纹理贴图结果)反馈给终端设备。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本公开的实施例所提供的用于纹理贴图的方法可以由终端设备101、102、103执行,也可以由服务器105执行。相应地,用于纹理贴图的装置可以设置于终端设备101、102、103中,也可以设置于服务器105中。在此不做具体限定。

继续参考图2,图2示出了本公开的用于纹理贴图的一个实施例的流程图。如图2所示,该流程包括步骤210至步骤230。

步骤210、响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格。

其中,待细分片元为尺寸参数大于预设的尺寸阈值的片元,预设条件为尺寸参数小于或等于尺寸阈值,尺寸参数例如可以是片元的面积或片元的边长。

在本实施例中,待细分片元与子片元的对应关系可以表征待细分片元与子片元之间的从属关系,作为示例,待细分片元A被细分为子片元A1、A2和A3,则可以确定待细分片元A与子片元A1、A2和A3之间的对应关系,并将该对应关系存入预先构建的对应关系列表中,在该对应关系列表中,可以通过顶点信息(例如可以包括顶点的几何坐标)表征各个片元。

在本实施例中,目标网格为基于点云构建的网格(mesh)数据,例如用户可以通过RGB-D相机或点云雷达采集场景的点云,然后,对采集到的点云应用网格生成算法,从点云中提取网格表面,得到包含有片元的网格数据。

在一个具体的示例中,执行主体可以是图1中所示的服务器105,其上可以预先装载有网格细分算法,例如可以是曲面细分算法(loop subdivision)。用户可以通过终端设备将待处理的目标网格发送至服务器105。之后,服务器105遍历目标网格中的各个片元,从目标网格中确定出面积大于预设面积阈值的片元,将该片元确定为待细分片元。然后,服务器105以待细分片元为对象,执行网格细分算法,在待细分片元的每条边上均插入新的顶点,然后基于新顶点和待细分片元中已有的旧顶点,将每个待细分片元细分为至少两个面积不大于预设面积阈值的子片元,得到细分后的网格,同时,服务器105可以将每个待细分片元与该待细分片元细分成的至少两个子片元的对应关系存入预先构建的对应关系列表中。

需要说明的是,本公开中的片元的形状可以为三角形,也可以是其他多边形,本公开对此不做限定。

步骤220、对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果。

在本实施例中,步骤210得到的细分后的网格中包含的片元包括两种类型,一种是目标网格中尺寸参数小于或等于尺寸阈值的初始片元,一种是将尺寸参数大于尺寸阈值的初始片元细分后得到的子片元。执行主体可以通过对细分后的网格执行预设的纹理贴图算法,确定出细分后的网格中各个顶点的纹理坐标,之后再通过顶点着色器对片元进行着色,生成细分后的网格的贴图结果。

作为示例,执行主体可以将细分后的网格以及预先确定的二维图片输入OpenGL(Open Graphics Library,开放图形库)中,通过OpenGL中预先确定的映射函数,确定细分后的网格中各片元与二维图片的映射关系,得到细分后的网格的贴图结果。

进一步参考图3,图3示出了本实施例中细分后的网格的贴图结果。

步骤230、基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。

在本实施例中,执行主体可以根据待细分片元与子片元的对应关系,确定细分后的网格中的子片元与目标网格中待细分片元的从属关系,进而可以根据子片元的纹理贴图结果确定待细分片元的纹理贴图结果。

进一步参考图4,图4示出了本实施例中目标网格的贴图结果。

作为示例,执行主体可以采用重心坐标法,通过仿射变换,将细分后的网格中各个片元的纹理贴图结果映射至目标网格中各个片元,从而得到目标网格的纹理贴图结果。

通过图2、图3以及图4可以看出,本公开的用于纹理贴图的方法,首先目标网格中尺寸参数大于预设的尺寸阈值的待细分片元为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格值;然后对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;之后基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。可以对含有任意大小的片元的网格进行纹理贴图,且不会增加纹理贴图后的网格中片元的数量,从而避免了纹理贴图导致网格的复杂程度增加,以免为后续网格的存储、传输以及渲染等处理过程带来额外的运算压力。

接着参考图5,如图5所示,在本实施例的一些可选的实现方式中,上述步骤210还可以进一步包括步骤510至步骤550。

步骤510、将目标网格作为当前网格。

步骤520、遍历当前网格。

步骤530、若当前网格中存在待细分片元,将待细分片元细分为至少两个候选子片元,得到更新后的网格。

在本实现方式中,执行主体可以将尺寸参数大于预设阈值的片元细分为至少两个尺寸较小的候选子片元,然后根据细分结果对目标网格中的片元进行更新,得到更新后的网格。

步骤540、将更新后的网格作为当前网格,并再次遍历当前网格。

可以理解的是,通过细分得到的候选子片元的尺寸参数仍有可能大于尺寸阈值,通过再次遍历当前网格,执行主体可以将尺寸参数仍大于尺寸阈值的候选子片元再次细分,直至当前网格中所有片元(包括初始片元和细分得到的候选子片元)的尺寸参数均小于或等于尺寸阈值。

步骤550、若当前网格中不存在待细分片元,将当前网格中的候选子片元确定为子片元,并将当前网格确定为细分后的网格。

从图5可以看出,图5所示的流程体现了通过循环遍历当前网格,实现对目标网格中待细分网格的细分处理,从而确保细分后的网格中不存在尺寸过大的片元。

在图5所示的实现方式的一个可选的示例中,待细分片元经由如下方式确定:响应于确定片元的最长边的长度大于预设的长度阈值,将该片元确定为待细分片元。在本示例中,可以将片元的最长边的长度作为片元的尺寸参数,相应的,可以将最长边的长度阈值作为尺寸阈值。如此,执行主体只需沿顶点遍历当前网格中的各个片元,确定出片元的最长边的长度,然后对比最长边的长度与长度阈值,即可确定片元是否为待细分片元,可以降低细分过程中的运算量,提高细分效率。

进一步参考图6,如图6所示,在该示例的基础上,上述步骤530可以进一步包括步骤610至步骤630。

步骤610、在待细分片元的最长边的预设位置插入新顶点。

作为示例,预设位置可以根据预设比例或预设距离确定。

优选的,预设位置可以是最长边的中点。

步骤620、基于新顶点和待细分片元中已有的旧顶点,将待细分片元细分为至少两个候选子片元,得到细分后的当前网格。

以三角形片元为例,执行主体可以将最长边相对的旧顶点与新顶点连接,得到的连线将待细分片元分为两个候选子片元。

步骤630、响应于确定各新顶点均为单纯复合型顶点,将细分后的当前网格确定为更新后的网格。

在本实施例中,单纯复合型(simplicial complex)顶点表征插入的新顶点仅作为片元的顶点。作为示例,若新顶点在相邻两个片元中均为顶点,则该新顶点为单纯复合型顶点;若其中一个片元中,没有将新顶点作为顶点,则该新顶点为非单纯复合型。

从图6可以看出,图6所示的流程体现了通过在最长边插入新顶点对将待细分片元进行细分的步骤,以此可以进一步提高细分效率。

接下来参考图7,图7示出了本公开的用于纹理贴图的方法的又一个实施例的流程图,如图7所示,该流程包括步骤710至步骤780。

步骤710、从待处理点云中提取网格表面,并确定网格表面中的初始片元,得到初始网格。

在本实施例中,待处理点云为在目标场景中采集得到的点云。

实践中,用户可以通过RGB-D相机、双目相机或点云雷达采集目标场景的点云,之后,对采集到的点云执行预设的网格生成算法,得到待处理的目标网格。作为示例,对于带法向量的点云,执行主体可以采用泊松重建算法提取点云的隐式表面,再根据匹配立方体(matching cube)算法或其衍生算法提取网格表面, 得到目标网格。对于不带法向量的点云,执行主体可以采用Delaynay算法对点云进行剖分,再采用图割(graph cut)算法提取网格表面,得到目标网格。

步骤720、基于预设的网格简化算法,将初始网格中符合预设过滤条件的初始片元删除,得到目标网格。

通常,经由网格生成算法得到的网格数据中会存在较多的冗余数据,导致后续的处理过程中运算量过大。因而,需要对初始网格中的冗余数据进行删减。

作为示例,执行主体可以采用顶点聚类(vertex clustering)算法、边坍缩(edgecollapse)算法或渐进网格(progressive mesh)算法,对初始网格进行简化处理,将符合预设过滤条件的初始片元删除,并保留初始网格中各片元的几何特性和拓扑关系,得到目标网格。

步骤730、响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格。

该步骤与前述步骤210相对应,此处不再赘述。

步骤740、获取纹理图片集。

在本实施例中,纹理图片集包括纹理图片,纹理图片为采集自目标场景的图像。

在本实施中,纹理图片与待处理点云均是采集自目标场景,将纹理图片映射至目标网格,可以使目标网格更准确、更真实地呈现目标场景。

步骤750、基于采集纹理图片的设备的位姿信息与采集待处理点云的设备的位姿信息,确定纹理图片相对于目标网格的相对位姿。

在本实施例中,纹理图片相对于目标网格的相对位姿用于表征纹理图片与目标网格的相对视角。

作为示例,执行主体可以根据纹理图片的像素坐标与采集该纹理图片的设备的设备坐标系,通过坐标变换确定出图片采集设备在世界坐标系下的位姿信息;执行主体可以根据待处理点云中各个点的位置信息与点云采集设备的设备坐标系,确定出点云采集设备在世界坐标系下的位姿信息。之后,可以将图片采集设备的位姿信息与点云采集设备的位姿信息的差值作为纹理图片相对于目标网格的相对位姿。

步骤760、基于纹理图片相对于目标网格的相对位姿,确定细分后的网格中的片元对应的纹理图片。

步骤770、基于细分后的网格中的顶点的几何坐标与细分后的网格中的片元对应的纹理图片,确定细分后的网格中的顶点的纹理坐标。

在本实施例中,执行主体可以采用预设的映射函数,将细分后的网格中的各个片元的顶点映射至对应的纹理图片,确定出各个顶点的纹理坐标。

作为示例,执行主体可以将步骤550中确定出的纹理图片存至纹理空间中,然后采用预设的映射函数,基于该纹理图片对应的片元的各个顶点的几何坐标,将各个顶点映射至纹理空间,确定出各个顶点的纹理坐标。

步骤780、基于细分后的网格中的顶点的纹理坐标,确定细分后的网格中的片元在纹理图片中的映射区域,得到细分后的网格的纹理贴图结果。

从图7中可以看出,在图7所示的实施例中,执行主体可以通过纹理图片相对于目标网格的相对位姿,确定细分后的网格中的片元与纹理图片的视角匹配程度,以此为每个片元选择最合适的纹理图片进行映射,可以使得目标网格的纹理贴图结果更贴近真实场景,并且提高纹理贴图的准确度。

接着参考图8,在图7所示的实施例中的基础上,该方法还可以进一步包括如下步骤810至步骤850。

步骤810、从细分后的网格的纹理贴图结果中确定出至少一个子片元集。

在本实施例中,每个子片元集中的各个子片元对应于同一个纹理图片且连通。

可以理解的是,一个待细分片元经过细分后得到的多个子片元,处于同一个平面且连通,其视角是相同的,则步骤760中为每个子片元确定出的纹理图片也是相同的,执行主体可以以此确定出细分后的表格中的子片元。

步骤820、基于子片元集中各子片元的顶点的纹理坐标,确定出子片元集在对应的纹理图片中的映射区域。

步骤830、基于对应关系,确定子片元集对应的待细分片元。

步骤840、基于子片元集在对应的纹理图片中的映射区域以及子片元集对应的待细分片元中顶点的几何坐标,确定子片元集对应的待细分片元的顶点的纹理坐标。

在一个具体的示例中,执行主体可以将多个子片元集对应的映射区域分别从纹理图片中提取出来,作为纹理片(texture patch)排列到待映射的纹理图集中。之后,采用预设的映射函数,基于每个子片元集对应的待细分片元的顶点的几何坐标,将待细分片元的顶点映射至待映射的纹理图集,确定出每个待细分片元的顶点的纹理坐标。

步骤850、基于子片元集对应的待细分片元的顶点的纹理坐标,确定子片元集对应的待细分片元的在纹理图片中的映射区域,得到待细分片元的纹理贴图结果。

从图8可以看出,在图8所示的实施例中,可以从细分后的网格的贴图结果中识别出每个待细分片元对应的子片元集,并将子片元集的纹理贴图结果映射至待细分片元,得到待细分片元的纹理贴图结果,可以将细分后的网格的纹理贴图结果更准确地映射至目标网格,从而进一步提高纹理贴图的准确度。

在本实施例的一些可选的实现方式中,步骤810之前,该方法还可以包括:从细分后的网格的纹理贴图结果中确定出待调整片元集,每个待调整片元集中的各片元对应于不同纹理图片且连通;对待调整片元集中各片元在纹理图片中的映射区域进行颜色调整。

在本实现方式中,执行主体通过对待调整片元集的纹理贴图结果进行颜色调整,可以提高纹理贴图结果的连续性。

接下来参考图9,图9示出了本公开的用于纹理贴图的装置的一个实施例的结构示意图,如图9所示,该装置包括:片元细分单元910,被配置成响应于确定待处理的目标网格中存在待细分片元,将待细分片元细分为至少两个符合预设条件的子片元,并确定待细分片元与子片元的对应关系,得到细分后的网格,其中,待细分片元为尺寸参数大于预设的尺寸阈值的片元,预设条件为尺寸参数小于或等于尺寸阈值;纹理贴图单元920,被配置成对细分后的网格进行纹理贴图,得到细分后的网格的纹理贴图结果;结果映射单元930,被配置成基于对应关系,将细分后的网格的纹理贴图结果映射至目标网格,得到目标网格的纹理贴图结果。

在本实施例中,片元细分单元910包括:网格确定模块,被配置成将目标网格作为当前网格;遍历模块,被配置成遍历当前网格;细分模块,被配置成若当前网格中存在待细分片元,将待细分片元细分为至少两个候选子片元,得到更新后的网格;网格更新模块,被配置成将更新后的网格作为当前网格,并再次遍历当前网格;确定模块,被配置成若当前网格中不存在待细分片元,将当前网格中的候选子片元确定为子片元,并将当前网格确定为细分后的网格。

在本实施例中,细分模块被进一步配置成:响应于确定片元的最长边的长度大于预设的长度阈值,将该片元确定为待细分片元。

在本实施例中,细分模块进一步包括:顶点插入子模块,被配置成在待细分片元的最长边的预设位置插入新顶点;片元细分子模块,被配置成基于新顶点和待细分片元中已有的旧顶点,将待细分片元细分为至少两个候选子片元,得到细分后的当前网格;结果确定子模块,被配置成响应于确定各新顶点均为单纯复合型顶点,将细分后的当前网格确定为更新后的网格。

在本实施例中,该装置还包括目标网格生成单元,目标网格生成单元包括:网格提取模块,被配置成从待处理点云中提取网格表面,并确定网格表面中的初始片元,得到初始网格,待处理点云为在目标场景中采集得到的点云;网格简化模块,被配置成基于预设的网格简化算法,将初始网格中符合预设过滤条件的初始片元删除,得到目标网格。

在本实施例中,纹理贴图单元920进一步包括:图片获取模块,被配置成获取纹理图片集,纹理图片集包括纹理图片,纹理图片为采集自目标场景的图像;相对位姿确定模块,被配置成基于采集纹理图片的设备的位姿信息与采集待处理点云的设备的位姿信息,确定纹理图片相对于目标网格的相对位姿;图片确定模块,被配置成基于纹理图片相对于目标网格的相对位姿,确定细分后的网格中的片元对应的纹理图片;第一坐标确定模块,被配置成基于细分后的网格中的顶点的几何坐标与细分后的网格中的片元对应的纹理图片,确定细分后的网格中的顶点的纹理坐标;第一坐标映射模块,被配置成基于细分后的网格中的顶点的纹理坐标,确定细分后的网格中的片元在纹理图片中的映射区域,得到细分后的网格的纹理贴图结果。

在本实施例中,结果映射单元930进一步包括:子片元提取模块,被配置成从细分后的网格的纹理贴图结果中确定出至少一个子片元集,每个子片元集中的各个子片元对应于同一个纹理图片且连通;映射区域确定模块,被配置成基于子片元集中各子片元的顶点的纹理坐标,确定出子片元集在对应的纹理图片中的映射区域;待细分片元确定模块,被配置成基于对应关系,确定子片元集对应的待细分片元;第二坐标确定模块,被配置成基于子片元集在对应的纹理图片中的映射区域以及子片元集对应的待细分片元中顶点的几何坐标,确定子片元集对应的待细分片元的顶点的纹理坐标;第二坐标映射模块,被配置成基于子片元集对应的待细分片元的顶点的纹理坐标,确定子片元集对应的待细分片元的在纹理图片中的映射区域,得到目标网格中的待细分片元的纹理贴图结果。

在本实施例中,该装置还包括颜色调整单元,颜色调整单元包括:目标确定模块,被配置成从细分后的网格的纹理贴图结果中确定出待调整片元集,每个待调整片元集中的各片元对应于不同纹理图片且连通;调整模块,被配置成对待调整片元集中各片元在纹理图片中的映射区域进行颜色调整。

图10为本公开电子设备一个应用实施例的结构示意图。下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。

如图10所示,电子设备包括一个或多个处理器和存储器。

处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于纹理贴图的方法以及/或者其他期望的功能。

在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

此外,该输入设备还可以包括例如键盘、鼠标等等。

该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图10中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用于纹理贴图的方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的用于纹理贴图的方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于并行单像素成像的多次反射光分离方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!