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

一种图像渲染方法及装置与流程

2022-12-02 18:53:10 来源:中国专利 TAG:


1.本公开涉及增强现实技术领域,尤其涉及一种图像渲染方法及装置。


背景技术:

2.增强现实(augmented reality,ar)技术是一种能用于融合虚拟信息与真实世界的技术,其可以将原本在现实世界的空间范围中比较难以进行体验的实体信息在电脑等科学技术的基础上,实施模拟仿真处理,从而将虚拟信息内容叠加在真实世界中,实现超越现实的感官体验。
3.能够产生沉浸效应是增强现实技术区别于其它图形显示和人机交互技术的重要特征,所谓沉浸指的是通过高度逼真的显示以及自然无缝的人机交互,使用户的注意力完全集中在虚拟现实所营造的环境中,而难以有意识和下意识地进行虚拟世界与真实世界的分界。现有技术在实现增强现实时普遍采用的图像渲染方式为:根据用户在现实环境中的空间位置得出虚拟场景和现实场景的相对位置,根据虚拟场景和现实场景的相对位置将虚拟场景和现实场景对齐后,直接将虚拟场景对应的图层叠加渲染于现实场景对应的图层上,以得到最终呈现给用户的图像。现有技术中这种图像渲染方式虽然也可以在渲染出的图像中同时呈现虚拟场景和真实场景,但虚拟场景对应的图层与现实场景对应的图层之间没有过渡区域,进而导致虚拟场景与现实场景过渡非常突然,沉浸感较差。


技术实现要素:

4.有鉴于此,本公开实施例提供了一种图像渲染方法及装置,用于解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
5.为了实现上述目的,本公开实施例提供技术方案如下:
6.第一方面,本公开的实施例提供了一种图像渲染方法,包括:
7.获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
8.根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
9.根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
10.基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
11.作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,包括:
12.将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对
应的第三深度为相机坐标系下该像素点对应的现实场景的深度;
13.将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;
14.对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
15.作为本公开实施例一种可选的实施方式,所述将各个像素点对应的第一深度转换为各个像素点对应的第三深度,包括:
16.获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
17.获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
18.获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;
19.获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
20.获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;
21.获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
22.作为本公开实施例一种可选的实施方式,所述将各个像素点对应的第二深度转换为各个像素点对应的第四深度,包括:
23.获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
24.获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
25.获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;
26.获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
27.获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;
28.获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
29.作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
30.若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
31.作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
32.若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应
的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
33.作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
34.若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
35.作为本公开实施例一种可选的实施方式,在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,所述方法还包括:
36.对预设场景进行图像采集,获取所述预设场景对应的图像数据;
37.根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
38.第二方面,本公开实施例提供一种图像渲染装置,包括:
39.获取单元,用于获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
40.计算单元,用于根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
41.处理单元,用于根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
42.渲染单元,用于基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
43.作为本公开实施例一种可选的实施方式,所述计算单元,具体用于将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
44.作为本公开实施例一种可选的实施方式,所述计算单元,具体用于获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
45.作为本公开实施例一种可选的实施方式,所述计算单元,具体用于获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;获取
各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
46.作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
47.作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
48.作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
49.作为本公开实施例一种可选的实施方式,所述获取单元,还用于在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,对预设场景进行图像采集,获取所述预设场景对应的图像数据;根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
50.第三方面,本公开实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施例所述的图像渲染方法。
51.第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施例所述的图像渲染方法。
52.第五方面,本公开实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施例所述的图像渲染方法。
53.本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,最后基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,因此本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
附图说明
54.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
55.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
56.图1为本公开实施例提供的图像渲染方法的步骤流程图之一;
57.图2为本公开实施例提供的图像渲染方法的步骤流程图之二;
58.图3为本公开实施例提供的图像渲染装置的结构示意图;
59.图4为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
60.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
61.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
62.在本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本公开实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
63.基于上述内容,本公开实施例提供了一种图像渲染方法,参照图1所示,该图像渲染方法包括如下步骤:
64.s101、获取待渲染图像中各个像素点对应的第一深度和第二深度。
65.其中,任一像素点对应的第一深度为标准化坐标系(normalized device coordinates,ndc)下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度。
66.具体的,本公开实施例中的待渲染图像是将虚拟场景对应的图层与现实场景对应的图层对齐后,将虚拟场景对应的图层渲染于现实场景对应的图层生成的图像,例如:待渲染图像中的像素点i
1,1
是由虚拟场景对应的图层中的像素点i

1,1
叠加渲染于现实场景对应的图层中的像素点i

1,1
得到的,因此待渲染图像中各个像素点、虚拟场景对应的图层中的各个像素点以及现实场景对应的图层中的各个像素是一一对应的。
67.s102、根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差。
68.其中,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值。
69.由于标准化坐标系下的场景深度是非线性的,因此,标准化坐标系下的第一深度
和第二深度的差值并不能表征像素点对应的现实场景的深度与虚拟场景的深度的差值,而相机坐标系下像素点对应的现实场景的深度与虚拟场景的深度的差值可以表征像素点对应的现实场景的深度与虚拟场景的深度的差值,因此本公开实施例获取的深度差为相机坐标系下像素点对应的现实场景的深度与虚拟场景的深度的差值。
70.s103、根据各个像素点对应的深度差确定各个像素点对应的不透明度。
71.其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关。
72.即,像素点对应的深度差越大,则像素点对应的不透明度越大。
73.此外,由于不透明度与透明度是一对相对的概念,因此像素点对应的深度差与像素点对应的不透明度之间关系也可以描述为:各个像素点对应的深度差与各个像素点对应的透明度负相关。即,像素点对应的深度差越大,则像素点对应的透明度越小。
74.s104、基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
75.本公开实施例中的现实场景对应的图层可以包括通过图像采集设备对现实世界中真实存在的场景进行图像采集获取的图层。
76.具体的,基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,包括:
77.基于各个像素点对应的不透明度,确定所述虚拟场景对应的图层中的各个像素点的不透明度;以及
78.根据所述虚拟场景对应的图层中的各个像素点的不透明度将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上。
79.例如:当待渲染图像中的像素点i
i,j
对应的不透明度为alpha1时,则确定所述虚拟场景对应的图层中的像素点i

i,j
的不透明度为alpha1,并在将虚拟场景对应的图层渲染于所述现实场景对应的图层时将像素点i

i,j
的不透明度设置为alpha1。
80.本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,然后基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此,当像素点对应的深度差较小时,即,当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上;当像素点对应的深度差较大时,即,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,由此,本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决现有技术中虚拟场景与现实
场景过渡非常突然,沉浸感较差的问题。
81.本公开实施例还提供了一种图像渲染方法,参照图2所示,该图像渲染方法包括如下步骤:
82.s201、对预设场景进行图像采集,获取所述预设场景对应的图像数据。
83.具体的,预设场景可以包括现实世界中真实存在的任意场景。
84.s202、根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
85.即,根据预设场景对应的图像数据构建出所述预设场景三维场景的结构模型。示例性的,可以基于结构光、激光、摄影测量、图像光流等技术中的一个或多个构建预设场景三维场景的结构模型,本公开不对具体构建方式进行限制。
86.s203、获取待渲染图像中各个像素点对应的第一深度和第二深度。
87.其中,任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度。
88.s204、将各个像素点对应的第一深度转换为各个像素点对应的第三深度。
89.其中,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度。
90.可选的,上述步骤s204(将各个像素点对应的第一深度转换为各个像素点对应的第三深度)的实现方式包括如下步骤a至步骤f:
91.步骤a、获取各个像素点对应第一计算值。
92.其中,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍。
93.设:虚拟相机到视锥体的远平面的距离为f,虚拟相机到视锥体的近平面的距离为n,则有:第一计算值=2fn。
94.步骤b、获取各个像素点对应第二计算值。
95.其中,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差。
96.承上所述,第二计算值=f-n。
97.步骤c、获取各个像素点对应第三计算值。
98.其中,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积。
99.承上所述,设:像素点对应的第一深度为dr,则有:
100.第三计算值=(f-n)dr。
101.步骤d、获取各个像素点对应第四计算值。
102.其中,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和
103.承上所述,第四计算值=f n。
104.步骤e、获取各个像素点对应第五计算值。
105.其中,所述第五计算值为所述第三计算值与所述第四计算值的差。
106.承上所述,第五计算值=(f-n)d
r-f n。
107.步骤f、获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
108.设:像素点对应的第三深度为zr,则有:
[0109][0110]
其中,zr为像素点对应的第三深度,dr像素点对应的第一深度,f为虚拟相机到视锥体的远平面的距离,n为虚拟相机到视锥体的近平面的距离。
[0111]
具体的,由于相机坐标系下的坐标值与标准化坐标系下的坐标值的转换关系为:
[0112][0113]
对相机坐标系下的坐标值与标准化坐标系下的坐标值的转换关系进行形变可得:
[0114][0115]
因此可以通过公式将各个像素点对应的第一深度转换为各个像素点对应的第三深度。
[0116]
s205、将各个像素点对应的第二深度转换为各个像素点对应的第四深度。
[0117]
其中,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度。
[0118]
可选的,上述步骤s205(将各个像素点对应的第二深度转换为各个像素点对应的第四深度)的实现方式包括如下步骤1至步骤6:
[0119]
步骤1、获取各个像素点对应第六计算值。
[0120]
其中,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍。
[0121]
设:虚拟相机到视锥体的远平面的距离为f,虚拟相机到视锥体的近平面的距离为n,则有:第六计算值=2fn。
[0122]
步骤2、获取各个像素点对应第七计算值。
[0123]
其中,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差。
[0124]
承上所述,第七计算值=f-n。
[0125]
步骤3、获取各个像素点对应第八计算值。
[0126]
其中,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积。
[0127]
承上所述,设:像素点对应的第一深度为ds,则有:
[0128]
第三计算值=(f-n)ds。
[0129]
步骤4、获取各个像素点对应第九计算值。
[0130]
其中,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和
[0131]
承上所述,第九计算值=f n。
[0132]
步骤5、获取各个像素点对应第十计算值。
[0133]
其中,所述第十计算值为所述第九计算值与所述第八计算值的差。
[0134]
承上所述,第十计算值=(f-n)d
s-f n。
[0135]
步骤6、获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
[0136]
设:像素点对应的第四深度为zs,则有:
[0137][0138]
根据第二公式将各个像素点对应的第二深度转换为各个像素点对应的第四深度的实现原理与根据第一公式将各个像素点对应的第一深度转换为各个像素点对应的第三深度的原理类似,在此不再赘述。
[0139]
s206、对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
[0140]
设:像素点对应的深度差为z
delta
、像素点对应的第三深度为zr、像素点对应的第四深度为zs,则有:
[0141]zdelta
=z
r-zs。
[0142]
s207、根据各个像素点对应的深度差确定各个像素点对应的不透明度。
[0143]
其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关。
[0144]
可选的,上述步骤s207(根据各个像素点对应的深度差确定各个像素点对应的不透明度)的实现方式包括:
[0145]
若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0;
[0146]
若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值;
[0147]
若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
[0148]
其中,预设阈值可以基于虚拟场景与显示场景的过渡范围设定,本发行实施例中不限定预设阈值的大小。
[0149]
设:第三像素点对应的不透明度为:alpha、预设阈值为:z
max
,则有:
[0150]
对于某一像素点,若存在z
delta
≤0,则alpha=0,该像素点对应的不透明度为0,透明度为100%。
[0151]
对于某一像素点,若存在0<z
delta
<z
max
,则有:
[0152]
alpha=clamp(z
delta
,0,z
max
)/z
max
。即,若存在0<z
delta
<z
max
,则该像素点对应的不透明度为z
delta
/z
max
,透明度为1-z
delta
/z
max

[0153]
s208、基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
[0154]
本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,然后基于各个像素点对应的不
透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,因此本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
[0155]
基于同一发明构思,作为对上述方法的实现,本公开实施例还提供了一种图像渲染装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的图像渲染装置能够对应实现前述方法实施例中的全部内容。
[0156]
本公开实施例提供了一种图像渲染装置。图3为该图像渲染装置的结构示意图,如图3所示,该图像渲染装置300包括:
[0157]
获取单元31,用于获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
[0158]
计算单元32,用于根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
[0159]
处理单元33,用于根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
[0160]
渲染单元34,用于基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
[0161]
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
[0162]
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第五计算值,所述第五计算值
为所述第三计算值与所述第四计算值的差;获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
[0163]
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
[0164]
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
[0165]
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
[0166]
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
[0167]
作为本公开实施例一种可选的实施方式,所述获取单元31,还用于在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,对预设场景进行图像采集,获取所述预设场景对应的图像数据;根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
[0168]
本实施例提供的图像渲染装置可以执行上述方法实施例提供的图像渲染方法,其实现原理与技术效果类似,此处不再赘述。
[0169]
基于同一发明构思,本公开实施例还提供了一种电子设备。图4为本公开实施例提供的电子设备的结构示意图,如图4所示,本实施例提供的电子设备包括:存储器41和处理器42,所述存储器41用于存储计算机程序;所述处理器42用于在执行计算机程序时,使得所述电子设备实现上述实施例提供的图像渲染方法。
[0170]
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述实施例提供的图像渲染方法。
[0171]
本公开实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述实施例提供的图像渲染方法。
[0172]
本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0173]
处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通
用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0174]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0175]
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0176]
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献