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

全景图资源生成方法、装置、电子设备及存储介质与流程

2022-07-27 22:47:51 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种全景图资源生成方法、装置、电子设备及存储介质。


背景技术:

2.作为普通消费者,在购房以及装修设计时很难理解平面化的图纸,平面化的效果图也很难体现出房源整个空间的关系。
3.随着虚拟现实(virtual reality,vr)技术的发展,vr在诸多领域得到广泛应用,vr技术使用户具有身临其境的体验,极大提高了用户的使用体验。通过将vr技术应用于看房场景以及家装场景,提升了用户的购房和装修体验。
4.目前在线看房以及vr家装场景,一般采用全景漫游方式,由于浏览的是图片,若需要对虚拟房间内的模型进行更新以对虚拟房间进行换装,操作比较困难。


技术实现要素:

5.本技术实施例提供一种全景图资源生成方法、装置、电子设备及存储介质,以解决现有技术中在对虚拟房间进行换装时存在的操作困难的问题。
6.第一方面,本技术实施例提供一种全景图资源生成方法,包括:
7.生成目标三维空间的背景全景图资源,所述背景全景图资源对应于所述目标三维空间所关联的n个背景对象,n为正整数;
8.基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,所述第一对象为所述目标三维空间内的主体对象;
9.生成所述第一对象对应的至少一个第一候选对象的全景图资源以及第二对象的候选全景图资源,所述第一候选对象用于替换所述第一对象,所述第二对象为所述背景对象的至少部分区域;
10.其中,所述第一候选对象的全景图资源基于对应的alpha通道六面图生成,所述第二对象的候选全景图资源基于对应的候选六面图生成,所述第一对象、所述第二对象至少为一个。
11.第二方面,本技术实施例提供一种全景图资源生成装置,包括:
12.第一生成模块,用于生成目标三维空间的背景全景图资源,所述背景全景图资源对应于所述目标三维空间所关联的n个背景对象,n为正整数;
13.第二生成模块,用于基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,所述第一对象为所述目标三维空间内的主体对象;
14.第三生成模块,用于生成所述第一对象对应的至少一个第一候选对象的全景图资源以及第二对象的候选全景图资源,所述第一候选对象用于替换所述第一对象,所述第二对象为所述背景对象的至少部分区域;
15.其中,所述第一候选对象的全景图资源基于对应的alpha通道六面图生成,所述第
二对象的候选全景图资源基于对应的候选六面图生成,所述第一对象、所述第二对象至少为一个。
16.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的全景图资源生成方法。
17.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的全景图资源生成方法。
18.在本技术实施例中,通过生成目标三维空间的背景对象对应的背景全景图资源、第一对象对应的全景图资源,并生成第一对象的第一候选对象的全景图资源以及与背景对象关联的第二对象的候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装、基于第一候选对象的全景图资源对第一对象进行换装,以实现对背景对象、主体对象进行更新,实现一键换装,解决现有技术中换装困难的问题。
附图说明
19.图1为本技术实施例提供的全景图资源生成方法的示意图;
20.图2为本技术实施例提供的显示背景对象以及主体对象的示意图;
21.图3为本技术实施例提供的生成第一对象的全景图资源的流程图;
22.图4为本技术实施例提供的生成第二对象的候选全景图资源的流程图;
23.图5为本技术实施例提供的对全景图资源进行排序的实施流程图;
24.图6为本技术实施例提供的全景图资源生成装置的示意图;
25.图7为本技术实施例提供的电子设备的结构框图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
28.在本技术的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
29.本技术实施例提供一种全景图资源生成方法,参见图1所示,包括:
30.步骤101、生成目标三维空间的背景全景图资源,所述背景全景图资源对应于所述目标三维空间所关联的n个背景对象,n为正整数。
31.本技术实施例提供的全景图资源生成方法,首先针对目标三维空间生成对应的背
景全景图资源。其中目标三维空间可以是基于目标房屋的图像(例如,实景图、全景图)进行相应的技术处理等构建三维空间的场景。例如可以获取目标房屋的多个实景图拼接为全景图,也可以直接获取目标房屋的全景图,根据全景图进行3d建模,构建三维空间的场景。或者先根据全景图进行2d户型建模,再基于2d户型构建三维空间的场景。在可以直接获取目标房屋户型图的情况下,也可以是基于目标房屋户型图构建的三维空间的场景。目标三维空间可以基于目标房屋的至少一个功能空间构建,如可以基于目标房屋的客厅空间和/或目标房屋的卧室空间构建。
32.目标三维空间关联至少一个背景对象,例如,地板对象、墙壁对象以及天花板对象进行组合,作为目标三维空间的一个背景对象;或者,地板对象、墙壁对象以及天花板对象分别作为目标三维空间的一个背景对象;在地板对象、墙壁对象以及天花板对象作为背景对象的情况下,目标三维空间还可以关联其他背景对象,如将沙发对象作为背景对象。本实施例中的背景对象可以理解为不可替换的、用于作为背景的对象,但背景对象支持外表更新,如墙壁作为背景对象,不可以替换,但是允许进行壁纸颜色更新。
33.在生成目标三维空间的背景全景图资源时,确定目标三维空间所关联的至少一个背景对象,基于至少一个背景对象生成目标三维空间的背景全景图资源。在基于至少一个背景对象生成目标三维空间的背景全景图资源时,针对仅包括至少一个背景对象的目标三维空间,利用虚拟相机(朝向可以旋转)进行拍摄,生成目标三维空间的背景全景图资源。
34.步骤102、基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,所述第一对象为所述目标三维空间内的主体对象。
35.针对目标三维空间内的主体对象(第一对象)而言,在生成第一对象的全景图资源时,需要获取第一对象对应的alpha通道六面图,基于第一对象对应的alpha通道六面图生成第一对象的全景图资源,第一对象对应的alpha通道六面图对应于rgba四通道,即,alpha通道六面图包括颜色值和透明度值。
36.其中,目标三维空间内的主体对象至少为一个,即,第一对象的数量为一个或者多个,针对每个第一对象,生成当前第一对象对应的全景图资源。其中,在生成多个第一对象对应的全景图资源时,可以按照预先顺序依次生成。第一对象可以理解为可被替换的对象,如,沙发对象作为主体对象,可以进行替换。本实施例中,背景对象不可替换,作为背景部分,主体对象可以替换,通过主体对象的替换实现非背景区域的换装。例如,参见图2所示,目标三维空间为虚拟客餐厅空间,墙壁对象、天花板对象以及地板对象作为背景对象,墙壁对象、天花板对象以及地板对象不可以替换,但支持表面更新,如壁纸颜色更新、地板材质更新、天花板颜色更新;餐桌对象、沙发对象、柜子对象等其他家具对象作为主体对象,支持替换。
37.需要说明的是,本技术实施例以生成目标三维空间的背景全景图资源之后,生成至少一个第一对象分别对应的全景图资源为例进行阐述。本领域技术人员也可以根据使用需求在生成至少一个第一对象分别对应的全景图资源之后,生成目标三维空间的背景全景图资源;还可以是生成部分第一对象分别对应的全景图资源之后,生成目标三维空间的背景全景图资源,然后生成剩余的第一对象分别对应的全景图资源。
38.步骤103、生成所述第一对象对应的至少一个第一候选对象的全景图资源以及第二对象的候选全景图资源,所述第一候选对象用于替换所述第一对象,所述第二对象为所
述背景对象的至少部分区域,所述第一候选对象的全景图资源基于对应的alpha通道六面图生成,所述第二对象的候选全景图资源基于对应的候选六面图生成。
39.在生成目标三维空间的背景全景图资源之后,可以针对背景对象,确定与背景对象关联的第二对象,第二对象为背景对象的至少部分区域。如,背景对象基于地板对象、墙壁对象以及天花板对象组合生成,则第二对象可以为背景对象的局部区域,具体可以为墙壁对象的至少部分区域、天花板对象的至少部分区域或者地板对象的至少部分区域。或者,背景对象为沙发对象,第二对象为沙发对象的整体区域。
40.针对每个背景对象,可以对应于至少一个第二对象。在生成第二对象对应的候选全景图资源时,可以针对至少部分第二对象生成候选全景图资源,通过生成第二对象的候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装,以实现对背景全景图资源的更新,使得前端可以对目标三维空间的背景区域(背景对象对应的区域)进行更新。其中,第二对象的候选全景图资源基于对应的候选六面图生成,第二对象的候选六面图为替换第二对象的初始六面图的候选资源,第二对象的候选全景图资源为对第二对象的初始全景图资源进行颜色和/或材质更新后生成的资源,在基于候选全景图资源对第二对象进行换装时,可以对第二对象的颜色和/或材质进行更新。
41.需要说明的是,针对具有候选全景图资源的每个第二对象而言,可以对应于至少一个候选全景图资源,在前端基于用户的触发对第二对象进行换装时,可以基于至少一个候选全景图资源中排在首位的候选全景图资源对第二对象进行换装,也可以由用户在至少一个候选全景图资源中进行选择。
42.在生成第一对象的全景图资源之后,可以针对第一对象,生成至少一个第一候选对象的全景图资源,即,针对每个第一对象,可以对应于至少一个第一候选对象,且可以生成至少一个第一候选对象分别对应的全景图资源,这里的第一候选对象为用于替换第一对象的备选对象。在生成第一对象的多个第一候选对象分别对应的全景图资源时,可以依次生成。针对第一候选对象而言,第一候选对象的全景图资源基于对应的alpha通道六面图生成,即,第一候选对象的全景图资源生成方式与第一对象的全景图资源生成方式相同。
43.针对多个第一对象而言,由于多个第一对象对应的全景图资源依次生成,可以在针对多个第一对象,基于预设顺序(多个第一对象的排列顺序)完成对应的全景图资源的生成之后,按照预设顺序,依次生成每个第一对象对应的至少一个第一候选对象的全景图资源。也可以在完成某个第一对象(排在首位的第一对象)的全景图资源的生成之后,生成当前第一对象对应的至少一个第一候选对象的全景图资源,然后基于预设顺序,生成下一个第一对象的全景图资源以及对应的至少一个第一候选对象的全景图资源。基于预设顺序,依次对剩余的第一对象生成全景图资源并生成对应的第一候选对象的全景图资源,以生成多个第一对象的全景图资源以及多个第一对象分别对应的第一候选对象的全景图资源。
44.通过针对每个第一对象,生成至少一个第一候选对象的全景图资源,可以支持前端基于第一候选对象的全景图资源对第一对象进行换装,以实现对主体对象进行更新。其中,第一对象对应的第一候选对象,与第一对象属于同一个对象类别,如第一对象为沙发对象a,第一候选对象为沙发对象b,沙发对象a以及沙发对象b均属于沙发类别,但是两者属于不同的子类别。如,沙发对象a对应于布沙发子类别、沙发对象b对应于皮沙发子类别;或者,沙发对象a与沙发对象b均对应于布沙发,沙发对象a的造型与沙发对象b的造型不同,属于
不同的子类别。
45.通过生成第二对象的候选全景图资源、第一候选对象的全景图资源,可以支持前端能够针对目标三维空间内的背景对象和主体对象进行一键换装,解决现有技术中在进行换装时存在的操作困难的问题。
46.本技术上述实施过程,通过生成目标三维空间的背景对象对应的背景全景图资源、第一对象对应的全景图资源,并生成第一对象的第一候选对象的全景图资源以及与背景对象关联的第二对象的候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装、基于第一候选对象的全景图资源对第一对象进行换装,以实现对背景对象、主体对象进行更新,实现一键换装,解决现有技术中换装困难的问题。
47.可选地,步骤101生成目标三维空间的背景全景图资源,包括:
48.根据目标对象列表,生成所述目标三维空间内的n个背景对象对应的所述背景全景图资源;
49.其中,所述目标对象列表用于指示向所述目标三维空间加载的各对象所属的目标类别,所述目标类别为背景类别或者主体类别。
50.在生成目标三维空间的背景全景图资源时,可以获取目标对象列表,其中目标对象列表为预先生成的用于指示向目标三维空间加载的各对象属于背景类别还是主体类别的指示列表。其中背景对象属于背景类别、主体对象属于主体类别,基于目标对象列表可以确定向目标三维空间加载的各对象属于背景对象还是主体对象。
51.根据获取的目标对象列表,确定目标三维空间对应的n个背景对象,基于n个背景对象生成目标三维空间对应的背景全景图资源。在基于n个背景对象生成背景全景图资源时,将n个背景对象加载至目标三维空间中,针对仅包括n个背景对象的目标三维空间,利用虚拟相机(朝向可以旋转)进行拍摄,生成目标三维空间的背景全景图资源。
52.上述实施过程,通过获取用于指示向目标三维空间加载的各对象属于背景类别或主体类别的目标对象列表,根据目标对象列表确定n个背景对象,基于n个背景对象生成目标三维空间对应的背景全景图资源,可以依据预先确定的背景对象生成背景全景图资源。
53.其中,步骤102基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,包括:
54.获取所述第一对象对应的alpha通道六面图;
55.根据所述第一对象对应的alpha通道六面图进行全景拼接,生成所述第一对象的全景图资源。
56.在生成第一对象的全景图资源时,针对第一对象,获取对应的alpha通道六面图,然后根据获取的alpha通道六面图进行全景拼接,以生成第一对象的全景图资源,实现在后端生成第一对象的全景图资源、以在前端显示时直接调用第一对象的全景图资源实现第一对象的展示。
57.在获取所述第一对象对应的alpha通道六面图时,包括:
58.基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取所述第一对象对应的alpha通道六面图,所述虚拟相机支持拍摄alpha通道六面图;或者
59.基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取过渡六面图,对所述过渡六面图进行图像处理,获取所述第一对象对应的alpha通道六面
图,所述虚拟相机不支持拍摄alpha通道六面图。
60.在获取第一对象对应的alpha通道六面图时,可以基于虚拟相机对加载至目标三维空间内的第一对象进行全景拍摄,此时目标三维空间中需要加载当前第一对象以及背景对象(因为第一对象可能受到背景对象的影响,比如背景对象产生的阴影可能作用在第一对象上,所以需要加载背景对象)。需要说明的是,在采用虚拟相机对当前第一对象进行拍摄时,目标三维空间加载当前第一对象以及背景对象,不可加载其他第一对象。例如,第一对象a为餐桌对象,第一对象b为茶几对象,在采用虚拟相机对餐桌对象进行拍摄时,目标三维空间加载的主体对象为餐桌对象,在获取餐桌对象的alpha通道六面图之后,采用虚拟相机对茶几对象进行拍摄,此时在目标三维空间中加载的主体对象为茶几对象,以获取茶几对象的alpha通道六面图。
61.在虚拟相机支持拍摄alpha通道六面图的情况下,利用虚拟相机对加载至目标三维空间内的第一对象进行全景拍摄,获取第一对象对应的alpha通道六面图;在虚拟相机不支持拍摄alpha通道六面图的情况下,利用虚拟相机对加载至目标三维空间内的第一对象进行全景拍摄,获取过渡六面图,然对过渡六面图进行图像处理,获取第一对象对应的alpha通道六面图。
62.上述实施过程,可以基于虚拟相机是否支持拍摄alpha通道六面图,采用对应的方式获取第一对象对应的alpha通道六面图,在虚拟相机支持拍摄alpha通道六面图时,直接获取alpha通道六面图,在虚拟相机不支持拍摄alpha通道六面图时,首先获取过渡六面图,然后对过渡六面图进行图像处理获取alpha通道六面图。
63.下面对基于虚拟相机获取第一对象对应的alpha通道六面图的过程进行阐述。在虚拟相机支持拍摄alpha通道六面图时,所述基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取所述第一对象对应的alpha通道六面图,包括:
64.基于所述虚拟相机的拍摄视角确定与所述第一对象关联的参考六面图;
65.针对所述参考六面图中的每张图像,将每个像素点的深度值与对应的背景像素点的深度值进行比较,确定第一像素点和第二像素点,所述第一像素点的深度值小于对应的背景像素点的深度值,所述第二像素点的深度值大于或者等于对应的背景像素点的深度值,且所述第一像素点为所述第一对象对应的像素点;
66.针对每张图像,保留所述第一像素点的像素值、设置所述第一像素点的alpha值为对应的第一目标值,并设置所述第二像素点的像素值、alpha值为0,生成所述第一对象对应的alpha通道图像,以获取所述第一对象对应的alpha通道六面图,第一目标值的取值范围大于0小于或者等于1。
67.针对虚拟相机支持拍摄alpha通道六面图的情况,基于虚拟相机的拍摄视角确定与第一对象关联的参考六面图,参考六面图为基于不同拍摄视角对第一对象进行图像采集所得到的六张图像。
68.在获取参考六面图之后,针对参考六面图中的每张图像,保留第一对象的真实深度值,设置除第一对象之外的其他区域的像素点的深度值为目标深度值,其中目标深度值为预先设置的取值较大的深度值。针对图像中的每个像素点,将像素点的深度值与对应的背景像素点的深度值进行比较,以筛选出第一像素点和第二像素点。其中背景像素点为背景对象对应的背景区域内的像素点,图像中的每个像素点对应于一背景像素点,第一像素
点的深度值小于对应的背景像素点的深度值,第二像素点的深度值大于或者等于对应的背景像素点的深度值,由于目标深度值为预先设置的取值较大的深度值,第一像素点为第一对象对应的像素点,且第一像素点为第一对象对应的全部像素点中的至少部分像素点。
69.在针对当前图像,确定第一像素点以及第二像素点之后,可以保留第一像素点的像素值,设置边缘第一像素点的alpha值为0至1之间的某个值(开区间,不包括0和1),设置非边缘第一像素点的alpha值为1,实现保留第一像素点的颜色值、设置非边缘第一像素点为不透明状态、边缘第一像素点为半透明的过渡状态,其中边缘第一像素点为第二像素点的相邻像素点,可以理解为位于第一像素点和第二像素点交界区域内的像素点,且在分辨率足够高的情况下,边缘第一像素点的alpha值为1。不同的边缘第一像素点对应的alpha值可以不同,也可以相同。相应的,第一目标值包括非边缘第一像素点对应的第一目标值以及边缘第一像素点对应的第一目标值。针对第二像素点而言,设置第二像素点的像素值、alpha值为0,实现设置第二像素点为透明状态。通过上述操作,可以对当前图像进行图像处理,获取第一对象对应的alpha通道图像。在对每张图像进行相应处理之后,可以获取第一对象对应的alpha通道六面图,其中,可以通过虚拟相机输出alpha通道六面图。
70.上述实施过程,针对参考六面图中的每张图像,基于像素点的深度值区分出第一像素点以及第二像素点,针对第一像素点,保留像素值、设置alpha值为对应的第一目标值,针对第二像素点,设置像素值、alpha值为0,以获取第一对象对应的alpha通道六面图。
71.其中,在虚拟相机不支持拍摄alpha通道六面图时,所述基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取过渡六面图,包括:
72.基于所述虚拟相机的拍摄视角确定与所述第一对象关联的参考六面图;
73.针对所述参考六面图中的每张图像,将每个像素点的深度值与对应的背景像素点的深度值进行比较,确定第三像素点和第四像素点,所述第三像素点的深度值小于对应的背景像素点的深度值,所述第四像素点的深度值大于或者等于对应的背景像素点的深度值,且所述第三像素点为所述第一对象对应的像素点;
74.针对每张图像,保留所述第三像素点的像素值、设置所述第四像素点为绿色,生成过渡图像,以获取所述过渡六面图。
75.针对虚拟相机不支持拍摄alpha通道六面图的情况,基于虚拟相机的拍摄视角确定与第一对象关联的参考六面图。在获取参考六面图之后,针对参考六面图中的每张图像,保留第一对象的真实深度值,设置除第一对象之外的其他区域的像素点的深度值为目标深度值,其中目标深度值为预先设置的取值较大的深度值。针对图像中的每个像素点,将像素点的深度值与对应的背景像素点的深度值进行比较,以筛选出第三像素点和第四像素点,其中背景像素点为背景对象对应的背景区域内的像素点,图像中的每个像素点对应于一背景像素点,第三像素点的深度值小于对应的背景像素点的深度值,第四像素点的深度值大于或者等于对应的背景像素点的深度值,由于目标深度值为预先设置的取值较大的深度值,第三像素点为第一对象对应的像素点,且第三像素点为第一对象对应的全部像素点中的至少部分像素点。
76.针对参考六面图中的每张图像,确定第三像素点以及第四像素点之后,可以保留第三像素点的像素值、设置第四像素点为绿色,即设置第四像素点的rgb值为(0,255,0),以生成过渡图像,从而可以获取过渡六面图,其中,可以通过虚拟相机输出过渡六面图。
77.在获取过渡六面图之后,需要对过渡六面图进行图像处理,以获取第一对象对应的alpha通道六面图。其中,对所述过渡六面图进行图像处理,获取所述第一对象对应的alpha通道六面图,包括:针对所述过渡六面图中的每张过渡图像,保留所述第三像素点的像素值、设置所述第三像素点的alpha值为对应的第二目标值,并设置所述第四像素点的像素值、alpha值为0,生成所述第一对象对应的alpha通道图像,以获取所述第一对象对应的alpha通道六面图,第二目标值的取值范围大于0小于或者等于1。
78.针对过渡六面图中的每张过渡图像,保留第三像素点的像素值,设置边缘第三像素点的alpha值为0至1之间的某个值(开区间),设置非边缘第三像素点的alpha值为1,实现保留第三像素点的颜色值、设置非边缘第三像素点为不透明状态、边缘第三像素点为半透明的过渡状态,其中边缘第三像素点为第四像素点的相邻像素点,可以理解为位于第三像素点和第四像素点交界区域内的像素点,且在分辨率足够高的情况下,边缘第三像素点的alpha值为1。不同的边缘第三像素点对应的alpha值可以不同,也可以相同。相应的,第二目标值包括非边缘第三像素点对应的第二目标值以及边缘第三像素点对应的第二目标值。针对第四像素点而言,设置第四像素点的像素值、alpha值为0,实现设置第四像素点为透明状态。通过上述操作,可以对当前过渡图像进行图像处理,获取第一对象对应的alpha通道图像,进而获取第一对象对应的alpha通道六面图。
79.上述实施过程,针对参考六面图中的每张图像,基于像素点的深度值区分出第三像素点以及第四像素点,针对第三像素点,保留像素值,针对第四像素点,设置颜色为绿色,获取过渡图像,针对过渡图像,对第三像素点进行像素值保留、透明度值设置,对第四像素点进行像素值、透明度值设置,以获取alpha通道图像,可以实现基于虚拟相机获取过渡图像,在过渡图像的基础上进行图像处理生成alpha通道图像。
80.下面通过一实施流程对生成第一对象的全景图资源的过程进行阐述,参见图3所示,包括如下步骤:
81.步骤301、生成目标三维空间的背景全景图资源。
82.步骤302、加载第一对象至包括背景对象的目标三维空间中。
83.步骤303、将第一对象的深度值写入自定义缓存。
84.步骤304、基于虚拟相机的拍摄视角确定与第一对象关联的参考六面图。
85.步骤305、针对参考六面图中的每张图像,保留第一对象的真实深度值,设置除第一对象之外的其他区域的像素点的深度值为目标深度值。
86.步骤306、针对参考六面图中的每张图像,将每个像素点的深度值与对应的背景像素点的深度值进行比较,确定第一像素点和第二像素点,第一像素点的深度值小于对应的背景像素点的深度值,第二像素点的深度值大于或者等于对应的背景像素点的深度值,然后执行步骤307或者步骤308。
87.步骤307、针对参考六面图中的每张图像,保留第一像素点的像素值、设置第一像素点的alpha值为对应的第一目标值,设置第二像素点的像素值、alpha值为0,以获取第一对象对应的alpha通道六面图,然后执行步骤310。
88.步骤308、针对参考六面图中的每张图像,保留第一像素点的像素值、设置第二像素点的颜色为绿色,生成过渡图像,以获取过渡六面图,然后执行步骤309。
89.步骤309、针对过渡六面图中的每张过渡图像,保留第一像素点的像素值、设置第
一像素点的alpha值为对应的第二目标值,设置第二像素点的像素值、alpha值为0,以获取第一对象对应的alpha通道六面图,然后执行步骤310。
90.步骤310、根据第一对象对应的alpha通道六面图进行全景拼接,生成第一对象的全景图资源。
91.上述实施流程,可以针对参考六面图中的每张图像,基于像素点的深度值区分出第一像素点以及第二像素点,通过对第一像素点、第二像素点进行设置获取alpha通道六面图或者过渡六面图,在获取过渡六面图之后进行图像处理生成alpha通道六面图,进而可以基于alpha通道六面图获取第一对象的全景图资源。
92.可选地,步骤103中生成所述第一对象对应的至少一个第一候选对象的全景图资源,包括:
93.获取至少一个第一候选对象分别对应的alpha通道六面图;
94.针对每个所述第一候选对象,根据对应的所述alpha通道六面图生成所述第一候选对象的全景图资源。
95.针对第一对象,在生成对应的至少一个第一候选对象的全景图资源时,需要获取一个第一候选对象对应的alpha通道六面图,或者,获取多个第一候选对象分别对应的alpha通道六面图。针对第一候选对象而言,基于对应的alpha通道六面图进行全景拼接,以获取第一候选对象的全景图资源。
96.其中,第一候选对象为第一对象的替换对象,通过生成第一候选对象的全景图资源,可以支持前端基于第一候选对象的全景图资源对第一对象进行换装,以实现对主体对象进行更新。第一候选对象的全景图资源生成方式与第一对象的全景图资源生成方式相同。针对每个第一对象,可以生成至少一个第一候选对象的全景图资源。在针对第一对象生成多个第一候选对象的全景图资源时,需要依次生成。
97.上述实施过程,可以采用第一对象的全景图资源生成方式生成第一候选对象的全景图资源,以支持前端基于第一候选对象的全景图资源对第一对象进行换装,实现对主体对象进行更新。
98.其中,步骤103生成第二对象的候选全景图资源,包括:
99.在对所述第二对象标记的情况下,通过虚拟相机获取与所述第二对象关联的标记六面图;
100.对所述第二对象进行颜色和/或材质更新之后,通过虚拟相机获取与所述第二对象关联的替换六面图;
101.依据所述标记六面图对所述替换六面图进行抠图处理,获取更新后的所述第二对象对应的候选六面图,根据所述候选六面图生成所述第二对象的候选全景图资源。
102.在生成第二对象的候选全景图资源时,需要对第二对象进行标记,通过虚拟相机对处于标记状态的第二对象进行信息采集,获取与第二对象关联的标记六面图,具体为利用虚拟相机从不同的拍摄角度对处于标记状态的第二对象进行图像采集,获取标记六面图。
103.在对第二对象进行颜色和/或材质更新之后,通过虚拟相机对更新后的第二对象进行图像信息采集,获取与第二对象关联的替换六面图。其中替换六面图以及标记六面图对应的拍摄角度相同。
104.然后基于标记六面图对替换六面图进行对应的抠图处理,具体为根据每张标记图像对对应的替换图像进行抠图处理,以针对每张替换图像获取更新后的第二对象,获取更新后的第二对象对应的候选六面图,依据候选六面图进行全景图像拼接,生成第二对象的候选全景图资源。需要说明的是,若标记六面图中的至少一张图像不包括第二对象,则可以忽略该图像。
105.下面通过一实施流程对生成第二对象的候选全景图资源的过程进行阐述,参见图4所示,包括如下步骤:
106.步骤401、生成目标三维空间的背景全景图资源,背景全景图资源对应于n个背景对象。
107.步骤402、对第二对象进行标记,通过虚拟相机获取与第二对象关联的标记六面图,第二对象为背景对象的至少部分区域。
108.步骤403、对第二对象进行颜色和/或材质更新之后,通过虚拟相机获取与第二对象关联的替换六面图。
109.步骤404、依据标记六面图对替换六面图进行抠图处理,获取更新后的第二对象对应的候选六面图,根据候选六面图生成第二对象的候选全景图资源。
110.上述实施过程,可以对背景对象的至少部分区域进行标记,在对标记区域进行更新后,通过抠图处理获取候选六面图,进而生成候选全景图资源;通过生成第二对象的候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装,以实现对背景全景图资源的更新,使得前端可以对目标三维空间的背景区域进行更新。
111.在本技术一实施例中,该方法还包括:生成第三目标对象、第四目标对象的深度全景图,所述第三目标对象、所述第四目标对象均为所述第一对象,且在第一浏览视角下所述第三目标对象遮挡所述第四目标对象;
112.根据所述第三目标对象、所述第四目标对象的深度全景图,对所述第三目标对象、所述第四目标对象对应的全景图资源进行排序,以进行全景图资源分层;
113.其中,所述第三目标对象为至少一个第三对象中对应的模型包围盒最大的对象,所述第四目标对象为至少一个第四对象中对应的模型包围盒最大的对象,且所述至少一个第三对象对应于第一对象类别,所述至少一个第四对象对应于第二对象类别,同一对象类别的对象对应于所述目标三维空间的同一区域。
114.在同一个浏览视角下,若存在多个第一对象,第一对象之间可能会存在遮挡,本方案中针对在第一浏览视角下第三目标对象遮挡第四目标对象的情况,生成第三目标对象、第四目标对象的深度全景图,然后基于第三目标对象、第四目标对象的深度全景图,对第三目标对象、第四目标对象对应的全景图资源进行排序,根据排序结果进行全景图资源的分层,以避免在前端显示时出现对象间不合理遮挡的情况。其中,在排序时,深度值越大,排序越靠后,前端在使用时,会优先加载深度值大的对象,这样能保证深度值小的对象最终显示在前面,挡住深度值大的对象。
115.其中,第三目标对象为在至少一个第三对象中确定的对应的模型包围盒最大的对象,第四目标对象为在至少一个第四对象中确定的对应的模型包围盒最大的对象,通过确定第三目标对象、第四目标对象,可以对最有可能发生遮挡的情况进行考虑。至少一个第三对象对应于第一对象类别,至少一个第四对象对应于第二对象类别,同一对象类别的对象
对应于目标三维空间的同一区域,且不同的对象的位置可以有细微差别。在第三对象为多个的情况下,多个第三对象对应于同一区域,多个第三对象中包括候选对象,某一时刻仅能显示一个第三对象,其他第三对象为候选对象,可以替换当前第三对象。例如,以沙发对象为例,沙发对象1至沙发对象5对应于客厅中靠近沙发背景墙的位置,沙发对象1在加载后,沙发对象2至沙发对象5作为备选对象,用于替换沙发对象1,且沙发对象1对应的模型包围盒最大,将沙发对象1作为第三目标对象。第四对象的情况类似,这里不再详细阐述,第四对象与第三对象的对象类别不同,如第三对象为沙发类别、第四对象为餐桌类别。下面通过一具体实例对该过程进行详细阐述,参见图5所示,包括如下步骤:
116.步骤501、针对每一种类的家具模型,找出该种类的家具模型中对应的模型包围盒最大的第一家具模型。
117.步骤502、针对每个第一家具模型,获取对应的深度六面图,并基于图像处理生成深度全景图。
118.步骤503、依据各第一家具模型的深度全景图,比较深度值,以对各第一家具模型对应的全景图资源进行排序、分层。
119.上述实施过程,通过对全景图资源进行排序,根据排序结果进行全景图资源的分层,可以避免在前端显示时出现对象间不合理遮挡的情况。
120.以上为本技术实施例提供的全景图资源生成方法的整体实施过程,通过生成目标三维空间的背景对象对应的背景全景图资源、第一对象对应的全景图资源,并生成第一对象的第一候选对象的全景图资源以及与背景对象关联的第二对象的候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装、基于第一候选对象的全景图资源对第一对象进行换装,以实现对背景对象、主体对象进行更新,实现一键换装,解决现有技术中换装困难的问题。
121.进一步地,可以基于虚拟相机是否支持拍摄alpha通道六面图,采用对应的方式获取第一对象对应的alpha通道六面图,在虚拟相机支持拍摄alpha通道六面图时,直接获取alpha通道六面图,在虚拟相机不支持拍摄alpha通道六面图时,首先获取过渡六面图,然后对过渡六面图进行图像处理获取alpha通道六面图。
122.通过对背景对象的至少部分区域进行标记,在对标记区域进行更新后,通过抠图处理获取候选六面图,进而生成候选全景图资源,可以支持前端基于候选全景图资源对第二对象进行换装。
123.通过对全景图资源进行排序,根据排序结果进行全景图资源的分层,可以避免在前端显示时出现对象间不合理遮挡的情况。
124.本技术实施例还提供一种全景图资源生成装置,参见图6所示,包括:
125.第一生成模块601,用于生成目标三维空间的背景全景图资源,所述背景全景图资源对应于所述目标三维空间所关联的n个背景对象,n为正整数;
126.第二生成模块602,用于基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,所述第一对象为所述目标三维空间内的主体对象;
127.第三生成模块603,用于生成所述第一对象对应的至少一个第一候选对象的全景图资源以及第二对象的候选全景图资源,所述第一候选对象用于替换所述第一对象,所述第二对象为所述背景对象的至少部分区域;
128.其中,所述第一候选对象的全景图资源基于对应的alpha通道六面图生成,所述第二对象的候选全景图资源基于对应的候选六面图生成,所述第一对象、所述第二对象至少为一个。
129.可选地,所述第一生成模块进一步用于:
130.根据目标对象列表,生成所述目标三维空间内的n个背景对象对应的所述背景全景图资源;
131.其中,所述目标对象列表用于指示向所述目标三维空间加载的各对象所属的目标类别,所述目标类别为背景类别或者主体类别。
132.可选地,所述第二生成模块包括:
133.第一获取子模块,用于获取所述第一对象对应的alpha通道六面图;
134.拼接生成子模块,用于根据所述第一对象对应的alpha通道六面图进行全景拼接,生成所述第一对象的全景图资源。
135.可选地,所述第一获取子模块包括:
136.第一获取单元,用于基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取所述第一对象对应的alpha通道六面图,所述虚拟相机支持拍摄alpha通道六面图;
137.或者
138.第二获取单元,用于基于虚拟相机对加载至所述目标三维空间内的所述第一对象进行全景拍摄,获取过渡六面图,对所述过渡六面图进行图像处理,获取所述第一对象对应的alpha通道六面图,所述虚拟相机不支持拍摄alpha通道六面图。
139.可选地,所述第一获取单元包括:
140.第一确定子单元,用于基于所述虚拟相机的拍摄视角确定与所述第一对象关联的参考六面图;
141.第一处理子单元,用于针对所述参考六面图中的每张图像,将每个像素点的深度值与对应的背景像素点的深度值进行比较,确定第一像素点和第二像素点,所述第一像素点的深度值小于对应的背景像素点的深度值,所述第二像素点的深度值大于或者等于对应的背景像素点的深度值,且所述第一像素点为所述第一对象对应的像素点;
142.第二处理子单元,用于针对每张图像,保留所述第一像素点的像素值、设置所述第一像素点的alpha值为对应的第一目标值,并设置所述第二像素点的像素值、alpha值为0,生成所述第一对象对应的alpha通道图像,以获取所述第一对象对应的alpha通道六面图。
143.可选地,第二获取单元包括:
144.第二确定子单元,用于基于所述虚拟相机的拍摄视角确定与所述第一对象关联的参考六面图;
145.第三处理子单元,用于针对所述参考六面图中的每张图像,将每个像素点的深度值与对应的背景像素点的深度值进行比较,确定第三像素点和第四像素点,所述第三像素点的深度值小于对应的背景像素点的深度值,所述第四像素点的深度值大于或者等于对应的背景像素点的深度值,且所述第三像素点为所述第一对象对应的像素点;
146.第四处理子单元,用于针对每张图像,保留所述第三像素点的像素值、设置所述第四像素点为绿色,生成过渡图像,以获取所述过渡六面图。
147.可选地,所述第二获取单元进一步用于:
148.针对所述过渡六面图中的每张过渡图像,保留所述第三像素点的像素值、设置所述第三像素点的alpha值为对应的第二目标值,并设置所述第四像素点的像素值、alpha值为0,生成所述第一对象对应的alpha通道图像,以获取所述第一对象对应的alpha通道六面图。
149.可选地,所述第三生成模块包括:
150.第二获取子模块,用于获取至少一个第一候选对象分别对应的alpha通道六面图;
151.生成子模块,用于针对每个所述第一候选对象,根据对应的所述alpha通道六面图生成所述第一候选对象的全景图资源。
152.可选地,所述第三生成模块包括:
153.第三获取子模块,用于在对所述第二对象标记的情况下,通过虚拟相机获取与所述第二对象关联的标记六面图;
154.第四获取子模块,用于对所述第二对象进行颜色和/或材质更新之后,通过虚拟相机获取与所述第二对象关联的替换六面图;
155.处理子模块,用于依据所述标记六面图对所述替换六面图进行抠图处理,获取更新后的所述第二对象对应的候选六面图,根据所述候选六面图生成所述第二对象的候选全景图资源。
156.可选地,该装置还包括:
157.第四生成模块,用于生成第三目标对象、第四目标对象的深度全景图,所述第三目标对象、所述第四目标对象均为所述主体对象,且在第一浏览视角下所述第三目标对象遮挡所述第四目标对象;
158.排序模块,用于根据所述第三目标对象、所述第四目标对象的深度全景图,对所述第三目标对象、所述第四目标对象对应的全景图资源进行排序,以进行全景图资源分层;
159.其中,所述第三目标对象为至少一个第三对象中对应的模型包围盒最大的对象,所述第四目标对象为至少一个第四对象中对应的模型包围盒最大的对象,所述至少一个第三对象对应于第一对象类别,所述至少一个第四对象对应于第二对象类别,同一对象类别的对象对应于所述目标三维空间的同一区域。
160.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
161.另一方面,本技术实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述全景图资源生成方法。
162.举例如下,图7示出了一种电子设备的实体结构示意图。
163.如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,处理器710用于执行以下步骤:生成目标三维空间的背景全景图资源,所述背景全景图资源对应于所述目标三维空间所关联的n个背景对象,n为正整数;基于第一对象对应的alpha通道六面图,生成所述第一对象的全景图资源,所述第一对象为所述目标
三维空间内的主体对象;生成所述第一对象对应的至少一个第一候选对象的全景图资源以及第二对象的候选全景图资源,所述第一候选对象用于替换所述第一对象,所述第二对象为所述背景对象的至少部分区域;其中,所述第一候选对象的全景图资源基于对应的alpha通道六面图生成,所述第二对象的候选全景图资源基于对应的候选六面图生成,所述第一对象、所述第二对象至少为一个。其中处理器710还可以执行本技术实施例全景图资源生成方法的其他步骤,这里不再赘述。
164.此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
165.再一方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的全景图资源生成方法。
166.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
167.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
168.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献