CN117036565A - 用于全景图中物体结构展示的方法、装置及存储介质 - Google Patents
用于全景图中物体结构展示的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117036565A CN117036565A CN202311041835.7A CN202311041835A CN117036565A CN 117036565 A CN117036565 A CN 117036565A CN 202311041835 A CN202311041835 A CN 202311041835A CN 117036565 A CN117036565 A CN 117036565A
- Authority
- CN
- China
- Prior art keywords
- dimensional object
- object model
- model
- target
- panoramic
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000009877 rendering Methods 0.000 claims abstract description 41
- 238000004040 coloring Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 8
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例公开了一种用于全景图中物体结构展示的方法、装置及存储介质,其中,方法包括:确定三维物体模型的目标位姿,三维物体模型为全景图中需展示结构的目标物体的三维模型,目标位姿为全景图对应的虚拟相机的相机视角下,三维物体模型与全景图中目标物体图像区域的像素重合率满足预设条件的位姿;基于目标位姿,离屏渲染三维物体模型的简化网格模型,得到三维物体模型的结构线条图;在着色器中将结构线条图与全景图进行叠加融合,得到可展示目标物体的结构线条的全景图。本公开实施例可以在空间VR全景图中展示目标物体的物体结构,提高VR全景图渲染效果。
Description
技术领域
本公开涉及三维纹理和图像处理技术领域,尤其涉及一种用于全景图中物体结构展示的方法、装置及存储介质。
背景技术
随着空间虚拟现实(Virtual Reality,简称为VR)全景图的应用越来越广泛,用户对VR全景图渲染效果的要求也越来越高,例如,用户可能想要看到VR全景图中物体的结构描写。相关技术中,可在着色器中计算当前视线和像素所在三角网格面的法向量的夹角,根据夹角的大小确定出物体边缘,夹角越接近90度,说明该像素越接近边缘,由此渲染结构边缘,但是相关技术通常只能确定并渲染出物体的外轮廓,而不能体现物体表面结构变化,并且使用相关技术针对某些三维物体模型,例如人的鼻子、眼睛等,所确定的边缘效果比较差。
发明内容
本公开实施例所要解决的一个技术问题是:提供一种用于全景图中物体结构展示的方法、装置及存储介质。
根据本公开实施例的一个方面,提供一种用于全景图中物体结构展示的方法,应用于支持WebGL的浏览器客户端,所述方法包括:
确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿;
基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图;
在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
在本公开的一个实施例中,所述基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图,包括:
在所述全景图对应的虚拟相机的相机视角下,使用所述虚拟相机和渲染器对处于所述目标位姿的简化网格模型使用网格渲染的方式进行离屏渲染,得到所述三维物体模型的结构线条图。
在本公开的又一个实施例中,所述确定三维物体模型的目标位姿,包括:
迭代调整所述三维物体模型的位姿;
在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率;
将所述像素重合率满足预设条件的三维物体模型的位姿确定为所述目标位姿。
在本公开的又一个实施例中,所述在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率,包括:
针对所述三维物体模型处于不同位姿的情况,均执行以下操作:
在所述全景图对应的虚拟相机所在位置,向所述三维物体模型做设定数量的射线;
计算所述设定数量的射线与所述三维物体模型的第一组交点,以及所述设定数量的射线与所述全景图的第二组交点,其中,所述全景图贴在承载物体上;
根据所述第一组交点的像素值与所述第二组交点的像素值,确定所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率。
在本公开的又一个实施例中,所述方法还包括:
基于所述三维物体模型的表面弯曲度,确定所述三维物体模型的简化网格模型的目标面片数;
根据所述目标面片数,对所述三维物体模型的原始网格模型进行网格简化处理,得到所述三维物体模型的简化网格模型。
在本公开的又一个实施例中,所述结构线条图的分辨率与所述全景图的分辨率一致;
所述在着色器中将所述结构线条图与所述全景图进行叠加融合,包括:
将所述结构线条图传入用于渲染所述全景图的着色器中;
在所述着色器中分别读取所述结构线条图的至少一个像素点的像素坐标,以及所述全景图的至少一个像素点的像素坐标;
按照所述结构线条图中像素点与所述全景图中像素点的一一对应关系,对所述结构线条图至少一个像素点的像素值与所述全景图至少一个像素点的像素值进行叠加。
根据本公开实施例的再一方面,提供一种用于全景图中物体结构展示的装置,应用于支持WebGL的浏览器客户端,所述装置包括:
位姿确定模块,用于确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿;
离屏渲染模块,用于基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图;
叠加模块,用于在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
在本公开的一个实施例中,所述离屏渲染模块,具体用于在所述全景图对应的虚拟相机的相机视角下,使用所述虚拟相机和渲染器对处于所述目标位姿的简化网格模型使用网格渲染的方式进行离屏渲染,得到所述三维物体模型的结构线条图。
在本公开的又一个实施例中,所述位姿确定模块包括:
迭代子模块,用于迭代调整所述三维物体模型的位姿;
计算子模块,用于在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率;
确定子模块,用于将像素重合率满足预设条件对应的三维物体模型的位姿确定为所述目标位姿。
在本公开的又一个实施例中,所述计算子模块,具体用于针对所述三维物体模型处于不同位姿的情况,均执行以下操作:
在所述全景图对应的虚拟相机所在位置,向所述三维物体模型做设定数量的射线;
计算所述设定数量的射线与所述三维物体模型的第一组交点,以及所述全景图的第二组交点,其中,所述全景图贴在承载物体上;
根据所述第一组交点的像素值与所述第二组交点的像素值,确定所述三维物体模型与所述全景图中所述目标物体图像区域的初始像素重合率。
在本公开的又一个实施例中,所述装置还包括:
确定模块,用于基于所述三维物体模型的表面弯曲度,确定所述三维物体模型的简化网格模型的目标面片数;
网格简化模块,用于根据所述目标面片数,对所述三维物体模型的原始网格模型进行网格简化处理,得到所述三维物体模型的简化网格模型。
在本公开的又一个实施例中,所述结构线条图的分辨率与所述全景图的分辨率一致;
所述叠加模块包括:
传入子模块,用于将所述结构线条图传入用于渲染所述全景图的着色器中;
像素坐标读取子模块,用于在所述着色器中分别读取所述结构线条图的至少一个像素点的像素坐标,以及所述全景图的至少一个像素点的像素坐标;
叠加子模块,用于按照所述结构线条图中像素点与所述全景图中像素点的一一对应关系,对所述结构线条图至少一个像素点的像素值与所述全景图至少一个像素点的像素值进行叠加。
根据本公开实施例的再一方面,提供一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述用于全景图中物体结构展示的方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述用于全景图中物体结构展示的方法。
基于本公开上述实施例提供的用于全景图中物体结构展示的方法、装置以及存储介质,应用于支持全球广域网图形函数库(Web Graphics Library,简称为WebGL)2.0的浏览器客户端,确定三维物体模型的目标位姿,该三维物体模型为全景图中需展示结构的目标物体,在全景图对应的虚拟相机的相机视角下,三维物体模型位于目标位姿时与全景图中目标物体图像区域的像素重合率满足预设条件;基于该目标位姿,离屏渲染三维物体模型的简化网格模型,得到三维物体模型的结构线条图;通过着色器将结构线条图的像素值与全景图的像素值一一进行叠加,得到可展示目标物体结构的全景图。本公开技术方案通过可实现在空间VR游览时,在全景图中能显示目标物体的物体结构,提高VR全景图渲染效果。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的用于全景图中物体结构展示的方法的一个实施例的流程图;
图2A为本公开的确定三维物体模型的目标位姿的实施例的流程图;
图2B为本公开的图2A所示实施例的步骤202的实现流程图;
图2C为本公开的目标物体的结构展示示意图;
图3为本公开的将结构线条图与全景图进行叠加的实施例的流程图;
图4为本公开的用于全景图中物体结构展示的装置的一个实施例的结构示意图;
图5为本公开的用于全景图中物体结构展示的装置的又一个实施例的结构示意图;
图6为本公开一示意性实施例提供的电子设备的结构图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
本公开实施例提供的技术方案应用于全景图空间VR游览时需要在全景图上展示物体结构、描绘物体结构的场景中,为了实现该技术方案,需要浏览器能够支持WebGL,基于WebGL的三维纹理应用程序编程接口可以将贴在承载物体表面的全景图加载到显存中,并且可以在着色器中实现物体结构线条图与全景图的像素叠加,以便渲染、展示使用。
示例性实施例
图1为本公开的用于全景图中物体结构展示的方法的一个实施例的流程图;该用于全景图中物体结构展示的方法可以应用在电子设备(如移动终端等)上,电子设备上的浏览器需要能够支持WebGL2.0。如图1所示,该用于全景图中物体结构展示的方法包括以下步骤:
在步骤101中,确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿。
在一实施例中,为了提高VR全景图的渲染效果,可能需要在展示全景图时,展示全景图中部分物体的结构信息。在确定全景图中需要展示结构信息的目标物体后,可以先离线确定三维物体模型的目标位姿,在三维空间中,三维物体模型处于目标位姿时,在全景图对应的虚拟相机的相机视角下,三维物体模型可以刚好覆盖全景图中的目标物体区域。
在一实施例中,在计算三维物体模型的目标位姿时,可以采用一些算法,如贪心算法,实现迭代调整目标物体的位姿至目标位姿,确保三维物体模型和全景图中目标物体图像区域的像素重合率尽可能高。在一实施例中,确定三维物体模型的目标位姿的实现方式可参见图2A所示实施例,这里先不详述。
在一实施例中,目标位姿可以为三维物体模型在世界坐标系下的一个位姿变化矩阵,根据该位姿变化矩阵,可以确定三维物体模型的位置。
在一实施例中,为了在三维场景中确定读取全景图,可以将全景图贴在一个承载物体,如球体上。
在一实施例,预设条件为像素重合率达到预设值,如像素重合率达到99%。
在步骤102中,基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图。
在一实施例中,在确定三维物体模型的目标位姿之后,可以在三维场景中将三维物体模型的简化网格模型置于目标位姿所指示的空间位置,然后在所述全景图对应的虚拟相机的相机视角下,使用虚拟相机和渲染器对处于目标位姿的简化网格模型进行离屏渲染。
具体实现时,可以使用网格渲染wireframe的方式实现离屏渲染,实现不渲染三维物体模型的材质信息,而只渲染三维物体模型的结构信息,得到三维物体模型的结构线条图。
在一实施例,简化网格模型是通过对原始网格模型进行网格简化处理得到的。离线生成目标物体的原始网格模型之后,可以采用边折叠简化算法(Edge collapse)对原始网格模型中的网格进行简化,边折叠简化算法属于几何元素删除法的一种,这里不作详细介绍。通过网格简化处理,可以得到面片数大大减少的简化网格模型,只保留大概的结构信息。
在一实施例中,在对原始网格模型进行网格简化处理之前,可以先基于三维物体模型的表面弯曲度,确定三维物体模型的简化网格模型的目标面片数;然后根据所述目标面片数,对三维物体模型的原始网格模型进行网格简化处理,得到三维物体模型的简化网格模型。具体的,三维物体模型的表面弯曲度越大,说明结构越复杂,所要保留的目标面片相对多一些;此外,三维物体模型不同部位的弯曲度可能不相同,在具体简化时,可以根据不同部位的弯曲度确定不同部位的面片数,由此实现在保留尽量明显的结构信息的前提下,最大化简化模型网格。
在步骤103中,在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
在一实施例中,将结构线条图通过纹理图像的方式传入全景图空间VR渲染的着色器中,然后将结构线条图作为全景图的纹理贴在全景图上,实现在全景图中可以展示目标物体的结构线条结构,参见图2C,通过展示物体的结构线条,可以体现物体本身表面结构的变化。
在一实施例中,结构线条图与全景图的分辨率相同,可以通过逐像素叠加的方式,实现将结构线条图贴在全景图上,具体可参见图3所示实施例,这里先不详述。
上述步骤101~103,通过确定三维物体模型的目标位姿,该三维物体模型为全景图中需展示结构的目标物体,在全景图对应的虚拟相机的相机视角下,三维物体模型位于目标位姿时与全景图中目标物体图像区域的像素重合率满足预设条件;基于该目标位姿,离屏渲染三维物体模型的简化网格模型,得到三维物体模型的结构线条图;通过着色器将结构线条图与全景图进行叠加融合,得到可展示目标物体的结构线条的全景图。本公开技术方案通过可实现在空间VR游览时,在全景图中能显示目标物体的物体结构,提高VR全景图渲染效果。
为了更好地说明本公开的用于全景图中物体结构展示的的方案,下面用另一个实施例说明。
图2A为本公开的确定三维物体模型的目标位姿的实施例的流程图,图2B为本公开的图2A所示实施例的步骤202的实现流程图,图2C为本公开的目标物体的结构展示示意图;本实施例以如何确定三维物体模型的目标位姿为例进行示例性说明,如图2A所示,包括如下步骤:
在步骤201中,迭代调整所述三维物体模型的位姿。
在一实施例中,在全景图对应的虚拟相机的相机视锥体空间内,可以通过迭代调整三维物体模型的位姿,并在每次调整三维物体模型的位姿之后,通过步骤202计算在全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率。
具体实现时,可通过设定的迭代算法,如贪心算法调整三维物体模型在虚拟相机的相机视锥体空间内的位姿。
在步骤202中,在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率。
在一实施例中,每次调整三维物体模型的位姿之后,均可通过图2B所示实施例,计算三维物体模型与全景图中所述目标物体图像区域的像素重合率。如图2B所示,包括以下步骤221~步骤223:
在步骤221中,在所述全景图对应的虚拟相机所在位置,向所述三维物体模型做设定数量的射线。
在一实施例中,设定数量可以为一个比较大的数值,可以为一个固定值,例如,为5000;设定数量还可以为一个根据目标物体图像区域的像素点的数目确定的一个数值,设定数量的具体值可以与目标物体图像区域的像素数目存在正比例关系,例如,目标物体图像区域的像素点的数目为50000,则可设置设定数量为5000,目标物体图像区域的像素点的数目为10000,则可设置设定数量为1000,等等。
在步骤222中,计算所述设定数量的射线与所述三维物体模型的第一组交点,以及设定数量的射线与所述全景图的第二组交点,其中,所述全景图贴在承载物体上。
在一实施例中,在三维空间中从虚拟相机所在位置向三维物体模型发送设定数量的射线,根据三维物体模型的位姿、虚拟相机所在位置以及各条射线的射线方程,可以计算出各条射线与三维物体模型的交点,得到第一组交点。
在一实施例中,全景图贴在承载物体上,根据承载物体在世界坐标系中的位姿、虚拟相机所在位置以及各条射线的射线方程,可以计算出各条射线与全景图(承载物体)的交点,得到第二组交点。
在步骤223中,根据所述第一组交点的像素值与所述第二组交点的像素值,确定所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率。
在一实施例中,同一条射线可同时与三维物体模型与全景图相交,得到对应的两个交点,进而可以判断两个交点的像素值是否相同,由此可以统计得到第一组交点的像素值与所述第二组交点的像素值对应相同的像素点数目,得到像素重合率,例如,一共五条射线,分别为射线1~5,射线1与三维物体模型与全景图的交点为1a和1b,射线2与三维物体模型与全景图的交点为2a和2b,射线3与三维物体模型与全景图的交点为3a和3b,射线4与三维物体模型与全景图的交点为4a和4b,射线5与三维物体模型与全景图的交点为5a和5b,其中,1a和1b的像素值相同,2a和2b的像素值相同,3a和3b的像素值相同,4a和4b的像素值相同,5a和5b的像素值相同,则根据这五条射线可确定三维物体模型与全景图中目标物体图像区域的像素重合率为100%。
在一实施例中,在确定出三维物体模型在一个位姿下全景图中所述目标物体图像区域的像素重合率之后,可根据像素重合率,继续迭代调整三维物体模型的位姿,并计算迭代调整后的位姿对应的像素重合率,直到迭代到满足预设条件的位姿为止。
在步骤203中,将像素重合率满足预设条件的三维物体模型的位姿确定为所述目标位姿。
在一实施例中,像素重合率满足预设条件的位姿是指像素重合率最大、且像素重合率达到预设值的位姿。
通过上述步骤201~步骤203,实现了在全景图对应的虚拟相机的相机视角下,通过迭代的算法,计算出在该相机视角下三维物体模型与全景图像素重合率最高的目标位姿,实现后续将结构线条图贴在全景图上时,结构线条能比较准确地贴在目标物体图像区域上,确保在全景图中能看到目标物体的结构信息。
图3为本公开的将结构线条图与全景图进行叠加的实施例的流程图;本实施例以如何将结构线条图与全景图进行叠加为例进行示例性说明,如图3所示,包括如下步骤:
在步骤301中,将所述结构线条图传入用于渲染所述全景图的着色器中。
在步骤302中,在所述着色器中分别读取所述结构线条图的至少一个像素点的像素坐标,以及所述全景图的至少一个像素点的像素坐标。
在步骤303中,按照所述结构线条图中像素点与所述全景图中像素点的一一对应关系,对所述结构线条图至少一个像素点的像素值与所述全景图至少一个像素点的像素值进行叠加。
在步骤301~步骤303中,将结构线条图以纹理变量的方式传入用于渲染全景图的着色器中后,着色器可以读取结构线条图上每个的像素点的像素坐标,根据像素坐标即可读取到对应的像素值,然后将该像素值与全景图中对应该像素坐标的像素值进行叠加。
结构线条图的分辨率与全景图的分辨率相同,并且结构线条图中只记录有目标物体的结构线条,其它区域可为透明区域,由此实现将结构线条图作为纹理贴合在全景图上,得到的全景图中可以看到目标物体的结构信息。
通过上述步骤301~步骤303中,通过将结构线条图的像素值与全景图中对应该像素坐标的像素值进行叠加,实现了将结构线条图作为纹理贴合在全景图上,得到的全景图中可以看到目标物体的结构信息。
与前述用于全景图中物体结构展示的方法的实施例相对应,本公开还提供了用于全景图中物体结构展示的装置对应的实施例。
图4为本公开的用于全景图中物体结构展示的装置的一个实施例的结构示意图,该装置应用在电子设备(如计算机系统、服务器)上,电子设备支持WebGL的浏览器客户端,如图4所示,该装置包括:
位姿确定模块41,用于确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿;
离屏渲染模块42,用于基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图;
叠加模块43,用于在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
图5为本公开的用于全景图中物体结构展示的装置的又一个实施例的结构示意图,如图5所示,在图4所示实施例的基础上,在一实施例中,所述离屏渲染模块42,具体用于在所述全景图对应的虚拟相机的相机视角下,使用所述虚拟相机和渲染器对处于所述目标位姿的简化网格模型使用网格渲染的方式进行离屏渲染,得到所述三维物体模型的结构线条图。
在一实施例中,所述位姿确定模块41包括:
迭代子模块411,用于迭代调整所述三维物体模型的位姿;
计算子模块412,用于在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率;
确定子模块413,用于将像素重合率满足预设条件对应的三维物体模型的位姿确定为所述目标位姿。
在一实施例中,所述计算子模块412,具体用于针对所述三维物体模型处于不同位姿的情况,均执行以下操作:
在所述全景图对应的虚拟相机所在位置,向所述三维物体模型做设定数量的射线;
计算所述设定数量的射线与所述三维物体模型的第一组交点,以及所述全景图的第二组交点,其中,所述全景图贴在承载物体上;
根据所述第一组交点的像素值与所述第二组交点的像素值,确定所述三维物体模型与所述全景图中所述目标物体图像区域的初始像素重合率。
在一实施例中,所述装置还包括:
确定模块44,用于基于所述三维物体模型的表面弯曲度,确定所述三维物体模型的简化网格模型的目标面片数;
网格简化模块45,用于根据所述目标面片数,对所述三维物体模型的原始网格模型进行网格简化处理,得到所述三维物体模型的简化网格模型。
在一实施例中,所述结构线条图的分辨率与所述全景图的分辨率一致;
所述叠加模块43包括:
传入子模块431,用于将所述结构线条图传入用于渲染所述全景图的着色器中;
像素坐标读取子模块432,用于在所述着色器中分别读取所述结构线条图的至少一个像素点的像素坐标,以及所述全景图的至少一个像素点的像素坐标;
叠加子模块433,用于按照所述结构线条图中像素点与所述全景图中像素点的一一对应关系,对所述结构线条图至少一个像素点的像素值与所述全景图至少一个像素点的像素值进行叠加。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
下面,参考图6来描述根据本公开实施例的电子设备,其中可以集成本公开实施例实现方法的装置。图6为本公开一示意性实施例提供的电子设备的结构图,如图6所示,电子设备包括一个或多个处理器61、一个或多个计算机可读存储介质的存储器62,以及存储在存储器上并可在处理器上运行的计算机程序。在执行存储器62的程序时,可以实现上述用于全景图中物体结构展示的方法。
具体的,在实际应用中,该电子设备还可以包括输入装置63、输出装置64等部件,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者某些部件,或者不同的部件布置。其中:
处理器61可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,通过运行或执行存储在存储器62内的软件程序和/或模块,以及调用存储在存储器62内的数据,执行各种功能和处理数据,从而对该电子设备进行整体监控。
存储器62可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器61可以运行程序指令,以实现上文的本公开的各个实施例的用于全景图中物体结构展示的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
输入装置63可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆,光学或轨迹球信号输入。
输出装置64可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置64可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
电子设备还可以包括给各个部件供电的电源,可以通过电源管理系统与处理器61逻辑相连,从而通过电源管理系统实现管理充电、放电,以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
当然,为了简化,图6中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于全景图中物体结构展示的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于全景图中物体结构展示的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种用于全景图中物体结构展示的方法,其特征在于,应用于支持WebGL的浏览器客户端,所述方法包括:
确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿;
基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图;
在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图,包括:
在所述全景图对应的虚拟相机的相机视角下,使用所述虚拟相机和渲染器对处于所述目标位姿的简化网格模型使用网格渲染的方式进行离屏渲染,得到所述三维物体模型的结构线条图。
3.根据权利要求1所述的方法,其特征在于,所述确定三维物体模型的目标位姿,包括:
迭代调整所述三维物体模型的位姿;
在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率;
将所述像素重合率满足预设条件的三维物体模型的位姿确定为所述目标位姿。
4.根据权利要求3所述的方法,其特征在于,所述在所述全景图对应的虚拟相机的相机视角下,计算在不同位姿下所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率,包括:
针对所述三维物体模型处于不同位姿的情况,均执行以下操作:
在所述全景图对应的虚拟相机所在位置,向所述三维物体模型做设定数量的射线;
计算所述设定数量的射线与所述三维物体模型的第一组交点,以及所述设定数量的射线与所述全景图的第二组交点,其中,所述全景图贴在承载物体上;
根据所述第一组交点的像素值与所述第二组交点的像素值,确定所述三维物体模型与所述全景图中所述目标物体图像区域的像素重合率。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述三维物体模型的表面弯曲度,确定所述三维物体模型的简化网格模型的目标面片数;
根据所述目标面片数,对所述三维物体模型的原始网格模型进行网格简化处理,得到所述三维物体模型的简化网格模型。
6.根据权利要求1所述的方法,其特征在于,所述结构线条图的分辨率与所述全景图的分辨率一致;
所述在着色器中将所述结构线条图与所述全景图进行叠加融合,包括:
将所述结构线条图传入用于渲染所述全景图的着色器中;
在所述着色器中分别读取所述结构线条图的至少一个像素点的像素坐标,以及所述全景图的至少一个像素点的像素坐标;
按照所述结构线条图中像素点与所述全景图中像素点的一一对应关系,对所述结构线条图至少一个像素点的像素值与所述全景图至少一个像素点的像素值进行叠加。
7.一种用于全景图中物体结构展示的装置,其特征在于,应用于支持WebGL的浏览器客户端,所述装置包括:
位姿确定模块,用于确定三维物体模型的目标位姿,所述三维物体模型为全景图中需展示结构的目标物体的三维模型,所述目标位姿为所述全景图对应的虚拟相机的相机视角下,所述三维物体模型与所述全景图中目标物体图像区域的像素重合率满足预设条件的位姿;
离屏渲染模块,用于基于所述目标位姿,离屏渲染所述三维物体模型的简化网格模型,得到所述三维物体模型的结构线条图;
叠加模块,用于在着色器中将所述结构线条图与所述全景图进行叠加融合,得到可展示所述目标物体的结构线条的全景图。
8.根据权利要求7所述的装置,其特征在于,所述离屏渲染模块,具体用于在所述全景图对应的虚拟相机的相机视角下,使用所述虚拟相机和渲染器对处于所述目标位姿的简化网格模型使用网格渲染的方式进行离屏渲染,得到所述三维物体模型的结构线条图。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机产品;
处理器,用于执行所述存储器中存储的计算机产品,且所述计算机产品被执行时,实现上述权利要求1-6任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实现上述权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311041835.7A CN117036565A (zh) | 2023-08-17 | 2023-08-17 | 用于全景图中物体结构展示的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311041835.7A CN117036565A (zh) | 2023-08-17 | 2023-08-17 | 用于全景图中物体结构展示的方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117036565A true CN117036565A (zh) | 2023-11-10 |
Family
ID=88633348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311041835.7A Pending CN117036565A (zh) | 2023-08-17 | 2023-08-17 | 用于全景图中物体结构展示的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117036565A (zh) |
-
2023
- 2023-08-17 CN CN202311041835.7A patent/CN117036565A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5295416B1 (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
CN113643414B (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN109493431B (zh) | 3d模型数据处理方法、装置及系统 | |
US11244518B2 (en) | Digital stages for presenting digital three-dimensional models | |
US9754398B1 (en) | Animation curve reduction for mobile application user interface objects | |
CN111402404B (zh) | 全景图补全方法、装置、计算机可读存储介质及电子设备 | |
US11367263B1 (en) | Image-guided three dimensional modeling | |
US20200106959A1 (en) | Panoramic light field capture, processing, and display | |
CN114419226A (zh) | 全景渲染方法、装置、计算机设备和存储介质 | |
WO2017113729A1 (zh) | 360度图像加载方法、加载模块及移动终端 | |
CN113920282B (zh) | 图像处理方法和装置、计算机可读存储介质、电子设备 | |
CN111213206A (zh) | 为三维环境提供用户界面的方法和系统 | |
CN115512046B (zh) | 模型外点位的全景图展示方法和装置、设备、介质 | |
US10754498B2 (en) | Hybrid image rendering system | |
GB2596794A (en) | User interface | |
CN117036565A (zh) | 用于全景图中物体结构展示的方法、装置及存储介质 | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
WO2018151612A1 (en) | Texture mapping system and method | |
CN115965519A (zh) | 一种模型处理方法、装置、设备及介质 | |
CN111862338A (zh) | 模拟眼镜佩戴图像的显示方法及装置 | |
CN116228949B (zh) | 三维模型处理方法、装置及存储介质 | |
CN116778126A (zh) | 用于放大显示虚拟现实空间的方法、装置及存储介质 | |
CN116612228A (zh) | 用于平滑物体边缘的方法、装置及存储介质 | |
CN117132742A (zh) | 用于确定全景图中物体选取状态的方法及装置 | |
CN115481476B (zh) | 数据展示方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |