CN115423915A - 一种图像渲染方法及装置 - Google Patents

一种图像渲染方法及装置 Download PDF

Info

Publication number
CN115423915A
CN115423915A CN202110602652.2A CN202110602652A CN115423915A CN 115423915 A CN115423915 A CN 115423915A CN 202110602652 A CN202110602652 A CN 202110602652A CN 115423915 A CN115423915 A CN 115423915A
Authority
CN
China
Prior art keywords
pixel point
depth
calculation value
difference
acquiring
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
Application number
CN202110602652.2A
Other languages
English (en)
Inventor
吴金远
郭燚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202110602652.2A priority Critical patent/CN115423915A/zh
Priority to PCT/CN2022/086528 priority patent/WO2022252833A1/zh
Priority to US18/552,777 priority patent/US20240185500A1/en
Publication of CN115423915A publication Critical patent/CN115423915A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

本公开实施例提供了一种图像渲染方法及装置,涉及增强现实技术领域。该方法包括:获取待渲染图像中各个像素点对应的第一深度和第二深度;像素点对应的第一深度为标准化坐标系下的现实场景的深度,像素点对应的第二深度为标准化坐标系下虚拟场景的深度;根据各个像素点对应的第一、第二深度,获取各个像素点对应的深度差,像素点对应的深度差为相机坐标系下现实场景与虚拟场景的深度的差值;根据各个像素点对应的深度差确定不透明度;其中,深度差与不透明度正相关;基于各个像素点对应的不透明度,将虚拟场景对应的图层渲染于现实场景对应的图层上,生成待渲染图像。本公开实施例用于解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。

Description

一种图像渲染方法及装置
技术领域
本公开涉及增强现实技术领域,尤其涉及一种图像渲染方法及装置。
背景技术
增强现实(Augmented Reality,AR)技术是一种能用于融合虚拟信息与真实世界的技术,其可以将原本在现实世界的空间范围中比较难以进行体验的实体信息在电脑等科学技术的基础上,实施模拟仿真处理,从而将虚拟信息内容叠加在真实世界中,实现超越现实的感官体验。
能够产生沉浸效应是增强现实技术区别于其它图形显示和人机交互技术的重要特征,所谓沉浸指的是通过高度逼真的显示以及自然无缝的人机交互,使用户的注意力完全集中在虚拟现实所营造的环境中,而难以有意识和下意识地进行虚拟世界与真实世界的分界。现有技术在实现增强现实时普遍采用的图像渲染方式为:根据用户在现实环境中的空间位置得出虚拟场景和现实场景的相对位置,根据虚拟场景和现实场景的相对位置将虚拟场景和现实场景对齐后,直接将虚拟场景对应的图层叠加渲染于现实场景对应的图层上,以得到最终呈现给用户的图像。现有技术中这种图像渲染方式虽然也可以在渲染出的图像中同时呈现虚拟场景和真实场景,但虚拟场景对应的图层与现实场景对应的图层之间没有过渡区域,进而导致虚拟场景与现实场景过渡非常突然,沉浸感较差。
发明内容
有鉴于此,本公开实施例提供了一种图像渲染方法及装置,用于解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
为了实现上述目的,本公开实施例提供技术方案如下:
第一方面,本公开的实施例提供了一种图像渲染方法,包括:
获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,包括:
将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;
将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;
对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
作为本公开实施例一种可选的实施方式,所述将各个像素点对应的第一深度转换为各个像素点对应的第三深度,包括:
获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;
获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;
获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
作为本公开实施例一种可选的实施方式,所述将各个像素点对应的第二深度转换为各个像素点对应的第四深度,包括:
获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;
获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;
获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
作为本公开实施例一种可选的实施方式,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
作为本公开实施例一种可选的实施方式,在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,所述方法还包括:
对预设场景进行图像采集,获取所述预设场景对应的图像数据;
根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
第二方面,本公开实施例提供一种图像渲染装置,包括:
获取单元,用于获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
计算单元,用于根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
处理单元,用于根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
渲染单元,用于基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
作为本公开实施例一种可选的实施方式,所述计算单元,具体用于将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
作为本公开实施例一种可选的实施方式,所述计算单元,具体用于获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
作为本公开实施例一种可选的实施方式,所述计算单元,具体用于获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
作为本公开实施例一种可选的实施方式,所述处理单元,具体用于若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
作为本公开实施例一种可选的实施方式,所述获取单元,还用于在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,对预设场景进行图像采集,获取所述预设场景对应的图像数据;根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
第三方面,本公开实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施例所述的图像渲染方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施例所述的图像渲染方法。
第五方面,本公开实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施例所述的图像渲染方法。
本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,最后基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,因此本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的图像渲染方法的步骤流程图之一;
图2为本公开实施例提供的图像渲染方法的步骤流程图之二;
图3为本公开实施例提供的图像渲染装置的结构示意图;
图4为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本公开实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
基于上述内容,本公开实施例提供了一种图像渲染方法,参照图1所示,该图像渲染方法包括如下步骤:
S101、获取待渲染图像中各个像素点对应的第一深度和第二深度。
其中,任一像素点对应的第一深度为标准化坐标系(Normalized DeviceCoordinates,NDC)下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度。
具体的,本公开实施例中的待渲染图像是将虚拟场景对应的图层与现实场景对应的图层对齐后,将虚拟场景对应的图层渲染于现实场景对应的图层生成的图像,例如:待渲染图像中的像素点I1,1是由虚拟场景对应的图层中的像素点I′1,1叠加渲染于现实场景对应的图层中的像素点I″1,1得到的,因此待渲染图像中各个像素点、虚拟场景对应的图层中的各个像素点以及现实场景对应的图层中的各个像素是一一对应的。
S102、根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差。
其中,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值。
由于标准化坐标系下的场景深度是非线性的,因此,标准化坐标系下的第一深度和第二深度的差值并不能表征像素点对应的现实场景的深度与虚拟场景的深度的差值,而相机坐标系下像素点对应的现实场景的深度与虚拟场景的深度的差值可以表征像素点对应的现实场景的深度与虚拟场景的深度的差值,因此本公开实施例获取的深度差为相机坐标系下像素点对应的现实场景的深度与虚拟场景的深度的差值。
S103、根据各个像素点对应的深度差确定各个像素点对应的不透明度。
其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关。
即,像素点对应的深度差越大,则像素点对应的不透明度越大。
此外,由于不透明度与透明度是一对相对的概念,因此像素点对应的深度差与像素点对应的不透明度之间关系也可以描述为:各个像素点对应的深度差与各个像素点对应的透明度负相关。即,像素点对应的深度差越大,则像素点对应的透明度越小。
S104、基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
本公开实施例中的现实场景对应的图层可以包括通过图像采集设备对现实世界中真实存在的场景进行图像采集获取的图层。
具体的,基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,包括:
基于各个像素点对应的不透明度,确定所述虚拟场景对应的图层中的各个像素点的不透明度;以及
根据所述虚拟场景对应的图层中的各个像素点的不透明度将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上。
例如:当待渲染图像中的像素点Ii,j对应的不透明度为Alpha1时,则确定所述虚拟场景对应的图层中的像素点I′i,j的不透明度为Alpha1,并在将虚拟场景对应的图层渲染于所述现实场景对应的图层时将像素点I′i,j的不透明度设置为Alpha1。
本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,然后基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此,当像素点对应的深度差较小时,即,当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上;当像素点对应的深度差较大时,即,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,由此,本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决现有技术中虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
本公开实施例还提供了一种图像渲染方法,参照图2所示,该图像渲染方法包括如下步骤:
S201、对预设场景进行图像采集,获取所述预设场景对应的图像数据。
具体的,预设场景可以包括现实世界中真实存在的任意场景。
S202、根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
即,根据预设场景对应的图像数据构建出所述预设场景三维场景的结构模型。示例性的,可以基于结构光、激光、摄影测量、图像光流等技术中的一个或多个构建预设场景三维场景的结构模型,本公开不对具体构建方式进行限制。
S203、获取待渲染图像中各个像素点对应的第一深度和第二深度。
其中,任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度。
S204、将各个像素点对应的第一深度转换为各个像素点对应的第三深度。
其中,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度。
可选的,上述步骤S204(将各个像素点对应的第一深度转换为各个像素点对应的第三深度)的实现方式包括如下步骤a至步骤f:
步骤a、获取各个像素点对应第一计算值。
其中,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍。
设:虚拟相机到视锥体的远平面的距离为f,虚拟相机到视锥体的近平面的距离为n,则有:第一计算值=2fn。
步骤b、获取各个像素点对应第二计算值。
其中,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差。
承上所述,第二计算值=f-n。
步骤c、获取各个像素点对应第三计算值。
其中,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积。
承上所述,设:像素点对应的第一深度为Dr,则有:
第三计算值=(f-n)Dr
步骤d、获取各个像素点对应第四计算值。
其中,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和
承上所述,第四计算值=f+n。
步骤e、获取各个像素点对应第五计算值。
其中,所述第五计算值为所述第三计算值与所述第四计算值的差。
承上所述,第五计算值=(f-n)Dr-f+n。
步骤f、获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
设:像素点对应的第三深度为Zr,则有:
Figure BDA0003093478950000121
其中,Zr为像素点对应的第三深度,Dr像素点对应的第一深度,f为虚拟相机到视锥体的远平面的距离,n为虚拟相机到视锥体的近平面的距离。
具体的,由于相机坐标系下的坐标值与标准化坐标系下的坐标值的转换关系为:
Figure BDA0003093478950000122
对相机坐标系下的坐标值与标准化坐标系下的坐标值的转换关系进行形变可得:
Figure BDA0003093478950000131
因此可以通过公式
Figure BDA0003093478950000132
将各个像素点对应的第一深度转换为各个像素点对应的第三深度。
S205、将各个像素点对应的第二深度转换为各个像素点对应的第四深度。
其中,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度。
可选的,上述步骤S205(将各个像素点对应的第二深度转换为各个像素点对应的第四深度)的实现方式包括如下步骤1至步骤6:
步骤1、获取各个像素点对应第六计算值。
其中,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍。
设:虚拟相机到视锥体的远平面的距离为f,虚拟相机到视锥体的近平面的距离为n,则有:第六计算值=2fn。
步骤2、获取各个像素点对应第七计算值。
其中,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差。
承上所述,第七计算值=f-n。
步骤3、获取各个像素点对应第八计算值。
其中,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积。
承上所述,设:像素点对应的第一深度为Ds,则有:
第三计算值=(f-n)Ds
步骤4、获取各个像素点对应第九计算值。
其中,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和
承上所述,第九计算值=f+n。
步骤5、获取各个像素点对应第十计算值。
其中,所述第十计算值为所述第九计算值与所述第八计算值的差。
承上所述,第十计算值=(f-n)Ds-f+n。
步骤6、获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
设:像素点对应的第四深度为Zs,则有:
Figure BDA0003093478950000141
根据第二公式将各个像素点对应的第二深度转换为各个像素点对应的第四深度的实现原理与根据第一公式将各个像素点对应的第一深度转换为各个像素点对应的第三深度的原理类似,在此不再赘述。
S206、对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
设:像素点对应的深度差为Zdelta、像素点对应的第三深度为Zr、像素点对应的第四深度为Zs,则有:
Zdelta=Zr-Zs
S207、根据各个像素点对应的深度差确定各个像素点对应的不透明度。
其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关。
可选的,上述步骤S207(根据各个像素点对应的深度差确定各个像素点对应的不透明度)的实现方式包括:
若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0;
若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值;
若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
其中,预设阈值可以基于虚拟场景与显示场景的过渡范围设定,本发行实施例中不限定预设阈值的大小。
设:第三像素点对应的不透明度为:Alpha、预设阈值为:Zmax,则有:
对于某一像素点,若存在Zdelta≤0,则Alpha=0,该像素点对应的不透明度为0,透明度为100%。
对于某一像素点,若存在0<Zdelta<Zmax,则有:
Alpha=clamp(Zdelta,0,Zmax)/Zmax。即,若存在0<Zdelta<Zmax,则该像素点对应的不透明度为Zdelta/Zmax,透明度为1-Zdelta/Zmax
S208、基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
本公开实施例提供的图像渲染方法首先获取标准化坐标系下待渲染图像中各个像素点对应的现实场景的深度和虚拟场景的深度,然后根据标准化坐标系下各个像素点对应的现实场景的深度和虚拟场景的深度,获取相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,再根据相机坐标系下各个像素点对应的现实场景的深度与虚拟场景的深度的差值,确定各个像素点对应的不透明度,然后基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。由于本公开实施例提供的图像渲染方法可以根据各个像素点对应的现实场景的深度与虚拟场景的深度的差值确定各个像素点对应的不透明度,并基于各个像素点对应的不透明度对虚拟场景对应的图层进行渲染,而且各个像素点对应的深度差与各个像素点对应的不透明度正相关,因此当像素点对应的现实场景的深度与虚拟场景的深度较为接近时,虚拟场景对应的图层中的相应像素点会以较大的透明度渲染于所述现实场景对应的图层上,当像素点对应的现实场景的深度与虚拟场景的深度相差较多时,虚拟场景对应的图层中的相应像素点会以较小的透明度渲染于所述现实场景对应的图层上,因此本公开实施例可以在现实场景与虚拟场景深度越接近时,越可以透过虚拟场景对应的图层观察到现实场景对应的图层,进而使虚拟场景与现实场景平滑过渡,因此本公开实施例可以解决虚拟场景与现实场景过渡非常突然,沉浸感较差的问题。
基于同一发明构思,作为对上述方法的实现,本公开实施例还提供了一种图像渲染装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的图像渲染装置能够对应实现前述方法实施例中的全部内容。
本公开实施例提供了一种图像渲染装置。图3为该图像渲染装置的结构示意图,如图3所示,该图像渲染装置300包括:
获取单元31,用于获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
计算单元32,用于根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
处理单元33,用于根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
渲染单元34,用于基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
作为本公开实施例一种可选的实施方式,所述计算单元32,具体用于获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
作为本公开实施例一种可选的实施方式,所述处理单元33,具体用于若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
作为本公开实施例一种可选的实施方式,所述获取单元31,还用于在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,对预设场景进行图像采集,获取所述预设场景对应的图像数据;根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
本实施例提供的图像渲染装置可以执行上述方法实施例提供的图像渲染方法,其实现原理与技术效果类似,此处不再赘述。
基于同一发明构思,本公开实施例还提供了一种电子设备。图4为本公开实施例提供的电子设备的结构示意图,如图4所示,本实施例提供的电子设备包括:存储器41和处理器42,所述存储器41用于存储计算机程序;所述处理器42用于在执行计算机程序时,使得所述电子设备实现上述实施例提供的图像渲染方法。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述实施例提供的图像渲染方法。
本公开实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述实施例提供的图像渲染方法。
本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (14)

1.一种图像渲染方法,其特征在于,包括:
获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
2.根据权利要求1所述的方法,其特征在于,所述根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,包括:
将各个像素点对应的第一深度转换为各个像素点对应的第三深度,任一像素点对应的第三深度为相机坐标系下该像素点对应的现实场景的深度;
将各个像素点对应的第二深度转换为各个像素点对应的第四深度,任一像素点对应的第四深度为相机坐标系下该像素点对应的虚拟场景的深度;
对各个像素点对应的第四深度与第三深度作差,获取各个像素点对应的深度差。
3.根据权利要求2所述的方法,其特征在于,所述将各个像素点对应的第一深度转换为各个像素点对应的第三深度,包括:
根据虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离,将各个像素点对应的第一深度转换为各个像素点对应的第三深度,其中,所述各个像素点对应的第一深度与各个像素点对应的第三深度成反比例。
4.根据权利要求3所述的方法,其特征在于,根据虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离,将各个像素点对应的第一深度转换为各个像素点对应的第三深度,包括:
获取各个像素点对应第一计算值,所述第一计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
获取各个像素点对应第二计算值,所述第二计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
获取各个像素点对应第三计算值,所述第三计算值为所述第二计算值与像素点对应的第一深度的乘积;
获取各个像素点对应第四计算值,所述第四计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
获取各个像素点对应第五计算值,所述第五计算值为所述第三计算值与所述第四计算值的差;
获取各个像素点对应所述第一计算值与所述第五计算值的比值作为各个像素点对应的第三深度。
5.根据权利要求2所述的方法,其特征在于,所述将各个像素点对应的第二深度转换为各个像素点对应的第四深度,包括:
根据虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离,将各个像素点对应的第二深度转换为各个像素点对应的第四深度,其中,所述各个像素点对应的第二深度与各个像素点对应的第四深度成反比例。
6.根据权利要求5所述的方法,其特征在于,根据虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离,将各个像素点对应的第二深度转换为各个像素点对应的第四深度,包括:
获取各个像素点对应第六计算值,所述第六计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的两倍;
获取各个像素点对应第七计算值,所述第七计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的差;
获取各个像素点对应第八计算值,所述第八计算值为所述第七计算值与像素点对应的第二深度的乘积;
获取各个像素点对应第九计算值,所述第九计算值为虚拟相机到视锥体的远平面的距离与虚拟相机到视锥体的近平面的距离的和;
获取各个像素点对应第十计算值,所述第十计算值为所述第八计算值与所述第九计算值的差;
获取各个像素点对应所述第六计算值与所述第十计算值的比值作为各个像素点对应的第四深度。
7.根据权利要求1所述的方法,其特征在于,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第一像素点对应的深度差小于或等于0,则确定所述第一像素点对应的不透明度为0。
8.根据权利要求1所述的方法,其特征在于,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第二像素点对应的深度差大于0且小于预设阈值,则确定所述第二像素点对应的不透明度为所述第二像素点对应的深度差与所述预设阈值的比值。
9.根据权利要求1所述的方法,其特征在于,所述根据各个像素点对应的深度差确定各个像素点对应的不透明度,包括:
若第三像素点对应的深度差大于或等于所述预设阈值,则确定所述第三像素点对应的不透明度为100%。
10.根据权利要求1-9任一项的方法,其特征在于,在获取待渲染图像中各个像素点对应的第一深度和第二深度之前,所述方法还包括:
对预设场景进行图像采集,获取所述预设场景对应的图像数据;
根据所述图像数据对所述预设场景进行三维重建,获取所述现实场景。
11.一种图像渲染装置,其特征在于,包括:
获取单元,用于获取待渲染图像中各个像素点对应的第一深度和第二深度;任一像素点对应的第一深度为标准化坐标系下该像素点对应的现实场景的深度,任一像素点对应的第二深度为标准化坐标系下该像素点对应的虚拟场景的深度;
计算单元,用于根据各个像素点对应的第一深度和第二深度,获取各个像素点对应的深度差,任一像素点对应的深度差为相机坐标系下该像素点对应的现实场景的深度与虚拟场景的深度的差值;
处理单元,用于根据各个像素点对应的深度差确定各个像素点对应的不透明度;其中,各个像素点对应的深度差与各个像素点对应的不透明度正相关;
渲染单元,用于基于各个像素点对应的不透明度,将所述虚拟场景对应的图层渲染于所述现实场景对应的图层上,生成所述待渲染图像。
12.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现权利要求1-10任一项所述的图像渲染方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现权利要求1-10任一项所述的图像渲染方法。
14.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机实现权利要求1-8任一项所述的图像渲染方法。
CN202110602652.2A 2021-05-31 2021-05-31 一种图像渲染方法及装置 Pending CN115423915A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110602652.2A CN115423915A (zh) 2021-05-31 2021-05-31 一种图像渲染方法及装置
PCT/CN2022/086528 WO2022252833A1 (zh) 2021-05-31 2022-04-13 一种图像渲染方法及装置
US18/552,777 US20240185500A1 (en) 2021-05-31 2022-04-13 Image rendering method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110602652.2A CN115423915A (zh) 2021-05-31 2021-05-31 一种图像渲染方法及装置

Publications (1)

Publication Number Publication Date
CN115423915A true CN115423915A (zh) 2022-12-02

Family

ID=84195467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110602652.2A Pending CN115423915A (zh) 2021-05-31 2021-05-31 一种图像渲染方法及装置

Country Status (3)

Country Link
US (1) US20240185500A1 (zh)
CN (1) CN115423915A (zh)
WO (1) WO2022252833A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092989A (ja) * 1999-07-21 2001-04-06 Sega Corp 画像処理方法及びその装置
CN107315915A (zh) * 2017-06-28 2017-11-03 上海联影医疗科技有限公司 一种医疗手术模拟方法及系统
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
CA3158287A1 (en) * 2019-11-12 2021-05-20 Brian Pugh Method and system for scene image modification
CN112258658B (zh) * 2020-10-21 2023-02-17 河北工业大学 一种基于深度相机的增强现实可视化方法及应用

Also Published As

Publication number Publication date
WO2022252833A1 (zh) 2022-12-08
US20240185500A1 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
TWI578266B (zh) 藉由近似頂點至彎曲視埠上的投影在圖形處理中隨螢幕位置變化有效解析度
TW202008305A (zh) 擴增實境設備的座標系校準方法及裝置
US8963959B2 (en) Adaptive graphic objects
KR20080090671A (ko) 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치
CN109876441B (zh) 游戏中的渲染方法及装置、存储介质及电子设备
US8854392B2 (en) Circular scratch shader
CN105913481B (zh) 阴影渲染装置及其控制方法
CN109324796B (zh) 界面布局方法及装置
CN110930497B (zh) 一种全局光照相交加速方法、装置及计算机存储介质
CN103970518A (zh) 一种逻辑窗口的3d渲染方法和装置
CN114742931A (zh) 渲染图像的方法、装置、电子设备及存储介质
AU2016262127A1 (en) Method and system for computer graphics rendering
CN115423915A (zh) 一种图像渲染方法及装置
JP2009064085A (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
CN116843812A (zh) 一种图像渲染方法、装置及电子设备
CN114445533A (zh) 体积雾生成方法、装置、电子设备及存储介质
CN115294618A (zh) 一种图像处理方法及装置
AU2016277556A1 (en) 3d digital content interaction and control
CN112634439A (zh) 一种3d信息展示方法及装置
CN111161426A (zh) 基于全景图像的三维显示方法和系统
CN114288650A (zh) 虚拟场景图像处理方法、展示方法、装置、电子设备
CN115311392A (zh) 水体模型动态变化的渲染方法、装置及电子设备
TW201414286A (zh) 用以表現出三維景象之電腦圖形方法
CN107194878A (zh) 图像拼接方法及装置
US8462157B2 (en) Computing the irradiance from a disk light source at a receiver point

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