CN109448117A - 图像渲染方法、装置及电子设备 - Google Patents
图像渲染方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109448117A CN109448117A CN201811351512.7A CN201811351512A CN109448117A CN 109448117 A CN109448117 A CN 109448117A CN 201811351512 A CN201811351512 A CN 201811351512A CN 109448117 A CN109448117 A CN 109448117A
- Authority
- CN
- China
- Prior art keywords
- image
- described image
- reference axis
- displacement
- current
- 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
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种图像渲染方法、装置及电子设备,涉及三维重建技术领域,本发明提供的一种图像渲染方法、装置及电子设备,根据获取的图像的三维空间信息,确定图像中目标对象的当前位置的坐标变化量,再根据当前位置的坐标变化量调整图像的实时渲染规则,克服了现有技术中因渲染规则单一导致呈现的虚拟现实效果缺乏真实感的问题,增强了渲染图像的虚拟现实效果和真实感,改善了用户体验。
Description
技术领域
本发明涉及三维重建技术领域,尤其是涉及一种图像渲染方法、装置及电子设备。
背景技术
随着计算机技术的快速发展,三维(Three Dimension,简称:3D)重建技术日趋成熟。利用三维重建技术,可以通过电子设备(如手机相机)获取场景图像,将目标对象按照预先设定的渲染规则渲染到场景图像所形成的三维场景中,呈现出目标对象在三维场景中按设定路线移动的虚拟现实效果。其中,目标对象可以是预设的虚拟模型,如3D模型等。
但现有技术中,在任何三维场景下都按照预先设定的渲染规则对包含目标对象的图像进行渲染,渲染规则单一,导致呈现的虚拟现实效果缺乏真实感。例如,目标对象是一只蜘蛛,蜘蛛在三维场景中爬行,遇到台阶不会向上爬台阶或者绕弯行走,依旧按照直线行走,给用户的感觉是蜘蛛碰撞直穿台阶;遇到下台阶不会向下爬台阶,依旧按照直线行走,给用户的感觉是蜘蛛在空中爬行,缺乏真实感,用户体验较差。
发明内容
有鉴于此,本发明的目的在于提供一种图像渲染方法、装置及电子设备,可以增强渲染图像的虚拟现实效果。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种图像渲染方法,包括:
获取图像的三维空间信息;
根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;
根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
按照确定的所述实时渲染规则渲染所述图像。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述获取图像的三维空间信息的步骤,包括:
获取所述图像的深度图像,根据所述深度图像得到所述图像的三维空间信息。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据所述当前位置的坐标变化量确定所述图像的实时渲染规则的步骤,包括:
判断所述当前位置的坐标变化量是否超过设定阈值;
如果是,改变所述图像的当前渲染规则,将改变后的渲染规则作为所述图像的实时渲染规则;
如果否,将所述当前渲染规则作为所述图像的实时渲染规则。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标和实时梯度;根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量的步骤,包括:
根据所述图像的当前渲染规则中所述目标对象当前的运动方向和步长,确定所述目标对象下一步对应的下一像素点;
根据所述图像中各个像素点的三维坐标和实时梯度,确定所述下一像素点与当前像素点之间的位移量和梯度差,将所述下一像素点与当前像素点之间的位移量和梯度差作为所述当前位置的坐标变化量。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述位移量包括第一坐标轴位移量、第二坐标轴位移量和第三坐标轴位移量;改变所述图像的当前渲染规则的步骤,包括:
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量小于或等于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象在第二坐标轴和第三坐标轴形成的平面上移动;
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象沿第三坐标轴移动;
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,并且所述第三坐标轴位移量大于第三预设位移值,则改变当前渲染规则为所述目标对象沿原路返回。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标;根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量的步骤,包括:
根据所述图像的当前渲染规则中所述目标对象当前的运动方向和步长,确定所述目标对象下一步对应的的下一像素点;
根据所述图像中各个像素点的三维坐标,确定所述下一像素点与当前像素点之间的位移量,将所述下一像素点与当前像素点之间的位移量作为所述当前位置的坐标变化量。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述位移量至少包括第一坐标轴位移量;改变所述图像的当前渲染规则的步骤,包括:
如果所述第一坐标轴位移量大于第一预设位移值,改变当前渲染规则为所述目标对象沿第一坐标轴移动设定距离;所述设定距离根据所述第一坐标轴位移量确定。
第二方面,本发明实施例还提供一种图像渲染装置,包括:
空间信息获取模块,用于获取图像的三维空间信息;
渲染规则调整模块,用于根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
渲染模块,用于按照确定的实时渲染规则渲染所述图像。
第三方面,本发明实施例还提供一种电子设备,包括图像采集装置、处理器和存储装置;
所述图像采集装置用于拍摄图像;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行第一方面中任一项所述的方法。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,所述图像采集装置包括深度相机,所述深度相机用于拍摄深度图像。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。
本发明实施例提供的一种图像渲染方法、装置及电子设备,根据获取的图像的三维空间信息,确定图像中目标对象的当前位置的坐标变化量,再根据当前位置的坐标变化量调整图像的实时渲染规则,克服了现有技术中因渲染规则单一导致呈现的虚拟现实效果缺乏真实感的问题,增强了渲染图像的虚拟现实效果和真实感,改善了用户体验。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种电子设备的结构示意图;
图2示出了本发明实施例所提供的一种图像渲染方法的流程图;
图3示出了图2中步骤S208的流程图;
图4示出了本发明实施例所提供的一种图像渲染装置的结构示意图;
图5示出了本发明实施例所提供的一种图像渲染方法的场景示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术只能按照预先设定的渲染规则对包含目标对象的图像进行渲染,呈现的虚拟现实效果缺乏真实感的问题,本发明实施例提供的一种图像渲染方法、装置及电子设备,可以增强渲染图像的虚拟现实效果,以下对本发明实施例进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的图像渲染方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)、图形处理单元(Graphics ProcessingUnit,GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如图片、视频等),还可以将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
在本发明实施例中,图像采集装置110可以包括深度相机,深度相机可以采集进入相机视野范围内的物体的深度图像,将采集的深度图像发送至处理器102。深度图像可以体现出不同物体或相同物体的不同部位与相机之间的距离,进而体现被拍摄物体的三维空间信息。处理器102可以根据深度图像构建三维场景图像,作为本发明实施例中承载目标对象的图像。示例性地,深度相机可以是双目视觉相机,也可以是3D结构光相机或其它可以拍摄物体的深度图像的相机。
在一种可选的实施例中,图像采集装置110还可以包括彩色相机。彩色相机可以采集进入相机视野范围内的物体的彩色图像,将彩色图像发送至处理器102。彩色相机与深度相机对应设置。彩色图像及对应的深度图像是同步采集的。通过彩色相机,可以获取物体的更多细节特征。处理器102可以结合彩色相机采集的彩色图像和深度相机采集的深度图像,构建三维场景图像,作为本发明实施例中承载目标对象的图像。
示例性地,用于实现根据本发明实施例的图像渲染方法和装置的示例电子设备可以被实现在计算机或服务器上,也可以被实现在诸如电子相机、智能手机、平板电脑等移动终端上。
实施例二:
图2示出了本实施例所提供的一种图像渲染方法的流程图,如图4所示,该方法包括如下步骤:
步骤S202,获取图像的三维空间信息。
其中,所述图像为处理器根据深度图像构建的三维场景图像,或者结合深度图像和彩色图像构建的三维场景图像。深度图像可以体现出不同物体或相同物体的不同部位与相机之间的距离,进而体现被拍摄物体的三维空间信息。深度图像可以是通过图像采集装置中的深度相机实时采集的图像,也可以是预先存储的深度图像。同理,彩色图像可以是通过图像采集装置中的彩色相机实时采集的图像,也可以是预先存储的彩色图像。如果深度图像是预先存储的图像,也需要同时存储深度图像对应的彩色图像。深度图像及对应的彩色图像是同步采集的。
所述图像可以是一幅不变的三维场景图像,也可以是实时变化的三维场景图像。例如,用户使用手机实时拍摄时,随着手机的图像采集装置的拍摄角度不断变化,拍摄到的图像也随之变化,处理器会根据变化的图像实时生成三维场景图像,此时,所述图像是实时变化的三维场景图像。
利用三维重建技术,处理器可以根据深度图像,或者结合深度图像和彩色图像生成三维场景图像,将目标对象添加到所述图像中。目标对象可以是存储装置中保存的虚拟模型,如一只蜘蛛或一只蚂蚁的3D模型等。初始时,按照预先设定的渲染规则将目标对象添加到所述图像中,呈现出目标对象在所述图像中移动的效果。例如,一只蜘蛛在所述图像中沿直线爬行。在目标对象移动过程中,可以按照下文中的步骤改变图像的渲染规则。
处理器可以获取深度相机实时拍摄的深度图像,或者从存储装置中获取所述图像的深度图像,根据深度图像得到所述图像的三维空间信息。示例性地,如果深度相机为双目视觉相机,即深度相机包括两个摄像头,深度相机拍摄的深度图像包括第一摄像头采集的第一图像和第二摄像头采集的第二图像。处理器可以将第一图像和第二图像进行特征点匹配,确定第一图像中的特征点与第二图像中的特征点之间的对应关系。然后根据对应特征点分别在第一图像中的位置坐标与在第二图像中的位置坐标,确定第一图像和第二图像中对应像素点之间的位置偏差。再根据各对应像素点之间的位置偏差、预存的深度相机的焦距及第一摄像头的光轴和第二摄像头的光轴之间的距离,确定各个像素点相对于深度相机的垂直距离;由各个像素点相对于深度相机的垂直距离,确定各个像素点的三维坐标,得到所述图像的三维空间信息。
如果深度图像为其它类型的深度相机拍摄的图像,处理器也可以采用其它现有方法从深度图像中获取所述图像的三维空间信息,在此不再枚举。
由上述描述可知,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标。在一种可选的实施例中,还可以根据各个像素点的三维坐标,计算出各个像素点的实时梯度,因此,所述图像的三维空间信息除了包括各个像素点的三维坐标之外,还可以包括各个像素点的实时梯度。
步骤S204,根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量。
实时获取目标对象在所述图像中的当前位置,根据所述图像的三维空间信息,确定当前位置的坐标变化量。
在一种可选的实施例中,如果所述图像的三维空间信息包括所述图像中各个像素点的三维坐标,可以从当前渲染规则中获取目标对象当前的运动方向和步长,根据目标对象当前的运动方向和步长,确定目标对象前进一步后的下一像素点与当前像素点之间的位移量,将下一像素点与当前像素点之间的位移量作为当前位置的坐标变化量。其中下一像素点与当前像素点之间的位移量指两个像素点之间的坐标差异。
例如,设所述图像位于由X轴、Y轴和Z轴组成的三轴坐标系中,当前像素点的三维坐标为Pm(x0,y0,z0),根据当前渲染规则,可以得知目标对象当前的运动方向和步长,运动方向可以表示为运动方向向量Pxyz(xp,yp,zp),步长为d,进而可以确定目标对象前进一步后的下一像素点的三维坐标为Pn(x1,y1,z1)。具体的过程如下:
计算运动方向向量Pxyz和Z轴的夹角θ。
上述运动方向向量Pxyz在XY平面的投影向量为Pxy(xp,yp),计算方向向量Pxy与X轴的夹角θ1,
根据当前像素点的三维坐标Pm(x0,y0,z0),可以得到沿当前运动方向前进一个步长d后,下一像素点的三维坐标Pn(x1,y1,z1)。其中:
x1=x0+d*sin(θ)*cos(θ1)
y1=y0+d*sin(θ)*cos(θ1)
z1=z0+d*cos(θ)
计算下一像素点与当前像素点之间的坐标差异(Pdx,Pdy,Pdz),可以得到下一像素点与当前像素点之间的位移量。
Pdx=x1-x0
Pdy=y1-y0
Pdz=z1-z0
在另一种可选的实施例中,当所述图像的三维空间信息包括所述图像中各个像素点的三维坐标和实时梯度时,可以根据目标对象当前的运动方向和步长,确定目标对象下一步对应的下一像素点与当前像素点之间的位移量和梯度差,将下一像素点与当前像素点之间的位移量和梯度差作为当前位置的坐标变化量。其中下一像素点与当前像素点之间的位移量指两个像素点之间的坐标差异,下一像素点与当前像素点之间的位移量梯度差为两个像素点之间的梯度差异。
例如,假设当前像素点的三维坐标为Pm(x0,y0,z0),当前像素点的实时梯度为Dm(dx0,dy0,dz0)。目标对象当前的运动方向可以表示为运动方向向量Pxyz(xp,yp,zp),步长为d。参见上述步骤,可以得到下一像素点的三维坐标Pn(x1,y1,z1)。依据所述图像的三维空间信息,可以确定下一像素点Pn的实时梯度为Dn(dx1,dy1,dz1)。
计算下一像素点与当前像素点之间的坐标差异(Pdx,Pdy,Pdz),可以得到下一像素点与当前像素点之间的位移量。
Pdx=x1-x0
Pdy=y1-y0
Pdz=z1-z0
计算下一像素点与当前像素点之间的梯度差异(Ddx,Ddy,Ddz),可以得到下一像素点与当前像素点之间的梯度差。
Ddx=dx1-dx0
Ddy=dy1-dy0
Ddz=dz1-dz0
步骤S208,根据当前位置的坐标变化量确定所述图像的实时渲染规则。
可选地,步骤S208可以采用图3所示的步骤实现,包括:
步骤S2082,判断当前位置的坐标变化量是否超过设定阈值;如果是,执行步骤S2086;如果否,执行步骤S2084。
步骤S2084,将当前渲染规则作为所述图像的实时渲染规则。
如果当前位置的坐标变化量是否小于或等于设定阈值,则不改变当前渲染规则。例如,当前渲染规则为:蜘蛛在所述图像上沿直线爬行,如果当前位置的坐标未发送突变,则不需改变当前渲染规则,蜘蛛仍可在所述图像上沿直线爬行。
步骤S2086,改变所述图像的当前渲染规则,将改变后的渲染规则作为所述图像的实时渲染规则。
可以根据预设的移动规则参数表,改变当前渲染规则。所述移动规则参数表中存储有不同的坐标参数变化分别对应的移动规则。
在一种可选的实施例中,当前位置的坐标变化量包括下一像素点与当前像素点之间的位移量。所述位移量至少包括第一坐标轴位移量,第一坐标轴位移量可以是X轴位移量Pdx,也可以是Y轴位移量Pdy或者Z轴位移量Pdz。如果第一坐标轴位移量大于第一预设位移值,改变当前渲染规则为目标对象沿第一坐标轴移动设定距离;所述设定距离根据第一坐标轴位移量确定。
例如,下一像素点与当前像素点之间的位移量为(Pdx,Pdy,Pdz),设定阈值即预设位移值为(Px,Py,Pz)。在实际应用中,设定阈值可以根据渲染规则确定。根据移动规则参数表,如果Pdx>Px,则改变渲染规则为目标对象沿X轴移动设定距离,该设定距离可以大于Pdx与Px之差。如果Pdy>Py,则改变渲染规则为目标对象沿Y轴移动设定距离,该设定距离可以大于Pdy与Py之差。如果Pdz>Pz,则改变渲染规则为目标对象沿Z轴移动设定距离,该设定距离可以大于Pdz与Pz之差。
在上述实施例中,如果目标对象在移动过程中遇到障碍物,表现为目标对象跃上障碍物或跃过障碍物。
在另一种可选的实施例中,当前位置的坐标变化量包括下一像素点与当前像素点之间的位移量和梯度差。位移量包括第一坐标轴位移量、第二坐标轴位移量和第三坐标轴位移量。同理,第一坐标轴位移量可以是X轴位移量Pdx,也可以是Y轴位移量Pdy或者Z轴位移量Pdz。示例性地,在一具体实例中,第一坐标轴位移量为Z轴位移量Pdz,第二坐标轴位移量为X轴位移量Pdx,第三坐标轴位移量为Y轴位移量Pdy。
如果第一坐标轴位移量小于或等于第一预设位移值,第二坐标轴位移量小于或等于第二预设位移值,并且第三坐标轴位移量小于或等于第三预设位移值,则无需考虑梯度差的大小,不改变当前渲染规则。
举例如下,下一像素点与当前像素点之间的位移量为(Pdx,Pdy,Pdz),下一像素点与当前像素点之间的梯度差为(Ddx,Ddy,Ddz),设定阈值包括预设位移值(Px,Py,Pz)和预设梯度值(Dx,Dy,Dz)。根据移动规则参数表,如果Px≥Pdx且Py≥Pdy且Pz≥Pdz,则不考虑梯度差,目标对象按照当前运动路线移动。
如果第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量小于或等于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且梯度差小于或等于预设梯度值,则改变当前渲染规则为目标对象在第二坐标轴和第三坐标轴形成的平面上移动。
沿用上述举例,如果Px<Pdx且Py≥Pdy且Pz≥Pdz,此时只需考虑X轴的梯度差,当Dx≥Ddx时,则改变渲染规则为目标对象沿方向Pyz(0,yp,zp)移动,移动步长为d,具体体现为目标对象沿YZ平面移动。如果Px≥Pdx且Py<Pdy且Pz≥Pdz,此时只需考虑Y轴的梯度差,当Dy≥Ddy时,则改变渲染规则为目标对象沿方向Pxz(xp,0,zp)移动,移动步长为d,具体体现为目标对象沿XZ平面移动。如果Px≥Pdx且Py≥Pdy且Pz<Pdz,此时只需考虑Z轴的梯度差,当Dz≥Ddz时,则改变渲染规则为目标对象沿方向Pxy(xp,yp,0)移动,移动步长为d,具体体现为目标对象沿XY平面移动。
如果第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且梯度差小于或等于预设梯度值,则改变当前渲染规则为目标对象沿第三坐标轴移动。
仍沿用上述举例,如果Px<Pdx且Py<Pdy且Pz≥Pdz,此时只需考虑Z轴的梯度差,当Dz≥Ddz时,则改变渲染规则为目标对象沿方向Pz(0,0,zp)移动,移动步长为d,具体体现为目标对象沿Z轴移动。如果Px≥Pdx且Py<Pdy且Pz<Pdz,此时只需考虑X轴的梯度差,当Dx≥Ddx时,则改变渲染规则为目标对象沿方向Px(xp,0,0)移动,移动步长为d,具体体现为目标对象沿X轴移动。如果Px<Pdx且Py≥Pdy且Pz<Pdz,此时只需考虑Y轴的梯度差,当Dy≥Ddy时,则改变渲染规则为目标对象沿方向Py(0,yp,0)移动,移动步长为d,具体体现为目标对象沿Y轴移动。
如果第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,并且第三坐标轴位移量大于第三预设位移值,则改变当前渲染规则为目标对象沿原路返回。
仍沿用上述举例,如果Px<Pdx且Py<Pdy且Pz<Pdz,则无需考虑梯度差,则改变渲染规则为目标对象沿方向Pxyz’(-xp,-yp,-zp)移动,移动步长为d,具体体现为目标对象沿原路返回。
在该实施例中,如果目标对象遇到障碍物,在满足绕行条件的情况下,表现为目标对象绕行障碍物,在不满足绕行条件的情况下,表现为目标对象沿原路返回。
步骤S210,按照确定的实时渲染规则渲染所述图像。
如果当前渲染规则发生改变,按照改变后的渲染规则渲染所述图像。通过上述方法,可以使得到的渲染图像所呈现的画面更具真实感。
在一应用实例中,如图5所示,所述图像为一桌面,该桌面上放置有一名片盒,目标对象为一只蜘蛛,蜘蛛在桌面上沿直线爬行,遇到桌面上的障碍物—名片盒时,通过本发明实施例提供的图像渲染方法,画面中的蜘蛛表现为绕行至名片盒的一侧,而非直接撞穿名片盒,因而增加了真实感。
本发明实施例提供的图像渲染方法,根据获取的所述图像的三维空间信息,确定图像中目标对象的当前位置的坐标变化量,再根据当前位置的坐标变化量调整图像的实时渲染规则,克服了现有技术中因渲染规则单一导致呈现的虚拟现实效果缺乏真实感的问题,增强了渲染图像的虚拟现实效果和真实感,改善了用户体验。
实施例三:
对应于前述方法实施例,本实施例提供了一种图像渲染装置,参见图4所示的一种图像渲染装置的结构示意图,该装置包括:
背景信息获取模块41,用于获取所述图像的三维空间信息;
渲染规则调整模块42,用于根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
渲染模块43,用于按照确定的实时渲染规则渲染所述图像。
其中,背景信息获取模块41还可以用于:获取所述图像的深度图像,根据所述深度图像得到所述图像的三维空间信息。
渲染规则调整模块42还可以用于:判断所述当前位置的坐标变化量是否超过设定阈值;如果是,改变所述图像的当前渲染规则,将改变后的渲染规则作为所述图像的实时渲染规则;如果否,将所述当前渲染规则作为所述图像的实时渲染规则。
在一种可选的实施例中,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标和实时梯度;渲染规则调整模块42还可以用于:根据所述目标对象当前的运动方向和步长,确定所述目标对象下一步对应的下一像素点与当前像素点之间的位移量和梯度差,将所述下一像素点与当前像素点之间的位移量和梯度差作为所述当前位置的坐标变化量。
所述位移量包括第一坐标轴位移量、第二坐标轴位移量和第三坐标轴位移量;渲染规则调整模块42还可以用于:如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量小于或等于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象在第二坐标轴和第三坐标轴形成的平面上移动。如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象沿第三坐标轴移动。如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,并且所述第三坐标轴位移量大于第三预设位移值,则改变当前渲染规则为所述目标对象沿原路返回。
在另一种可选的实施例中,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标;渲染规则调整模块42还可以用于:根据所述目标对象当前的运动方向和步长,确定所述目标对象前进一步后的下一像素点与当前像素点之间的位移量,将所述下一像素点与当前像素点之间的位移量作为所述当前位置的坐标变化量。
所述位移量至少包括第一坐标轴位移量;渲染规则调整模块42还可以用于:如果所述第一坐标轴位移量大于第一预设位移值,改变当前渲染规则为所述目标对象沿第一坐标轴移动设定距离;所述设定距离根据所述第一坐标轴位移量确定。
本发明实施例提供的图像渲染装置,根据获取的图像的三维空间信息,确定图像中目标对象的当前位置的坐标变化量,再根据当前位置的坐标变化量调整图像的实时渲染规则,克服了现有技术中因渲染规则单一导致呈现的虚拟现实效果缺乏真实感的问题,增强了渲染图像的虚拟现实效果和真实感,改善了用户体验。
本实施例所提供的图像渲染装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,包括图像采集装置、处理器和存储装置。所述图像采集装置用于拍摄图像。可选地,所述图像采集装置包括深度相机,深度相机用于拍摄所述图像的深度图像。
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如下图像渲染方法的步骤:
获取所述图像的三维空间信息;
根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;
根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
按照确定的实时渲染规则渲染所述图像。
进一步地,本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行前述方法实施例所提供的方法的步骤。
本发明实施例所提供的一种图像渲染方法、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种图像渲染方法,其特征在于,包括:
获取图像的三维空间信息;
根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;
根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
按照确定的所述实时渲染规则渲染所述图像。
2.根据权利要求1所述的方法,其特征在于,所述获取图像的三维空间信息的步骤,包括:
获取所述图像的深度图像,根据所述深度图像得到所述图像的三维空间信息。
3.根据权利要求1所述的方法,其特征在于,根据所述当前位置的坐标变化量确定所述图像的实时渲染规则的步骤,包括:
判断所述当前位置的坐标变化量是否超过设定阈值;
如果是,改变所述图像的当前渲染规则,将改变后的渲染规则作为所述图像的实时渲染规则;
如果否,将所述当前渲染规则作为所述图像的实时渲染规则。
4.根据权利要求3所述的方法,其特征在于,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标和实时梯度;根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量的步骤,包括:
根据所述图像的当前渲染规则中所述目标对象当前的运动方向和步长,确定所述目标对象下一步对应的下一像素点;
根据所述图像中各个像素点的三维坐标和实时梯度,确定所述下一像素点与当前像素点之间的位移量和梯度差,将所述下一像素点与当前像素点之间的位移量和梯度差作为所述当前位置的坐标变化量。
5.根据权利要求4所述的方法,其特征在于,所述位移量包括第一坐标轴位移量、第二坐标轴位移量和第三坐标轴位移量;改变所述图像的当前渲染规则的步骤,包括:
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量小于或等于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象在第二坐标轴和第三坐标轴形成的平面上移动;
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,第三坐标轴位移量小于或等于第三预设位移值,并且所述梯度差小于或等于预设梯度值,则改变当前渲染规则为所述目标对象沿第三坐标轴移动;
如果所述第一坐标轴位移量大于第一预设位移值,第二坐标轴位移量大于第二预设位移值,并且所述第三坐标轴位移量大于第三预设位移值,则改变当前渲染规则为所述目标对象沿原路返回。
6.根据权利要求3所述的方法,其特征在于,所述图像的三维空间信息包括所述图像中各个像素点的三维坐标;根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量的步骤,包括:
根据所述图像的当前渲染规则中所述目标对象当前的运动方向和步长,确定所述目标对象下一步对应的的下一像素点;
根据所述图像中各个像素点的三维坐标,确定所述下一像素点与当前像素点之间的位移量,将所述下一像素点与当前像素点之间的位移量作为所述当前位置的坐标变化量。
7.根据权利要求6所述的方法,其特征在于,所述位移量至少包括第一坐标轴位移量;改变所述图像的当前渲染规则的步骤,包括:
如果所述第一坐标轴位移量大于第一预设位移值,改变当前渲染规则为所述目标对象沿第一坐标轴移动设定距离;所述设定距离根据所述第一坐标轴位移量确定。
8.一种图像渲染装置,其特征在于,包括:
空间信息获取模块,用于获取图像的三维空间信息;
渲染规则调整模块,用于根据所述图像的三维空间信息,确定所述图像中目标对象的当前位置的坐标变化量;根据所述当前位置的坐标变化量确定所述图像的实时渲染规则;
渲染模块,用于按照确定的实时渲染规则渲染所述图像。
9.一种电子设备,其特征在于,包括图像采集装置、处理器和存储装置;
所述图像采集装置用于拍摄图像;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至7中任一项所述的方法。
10.根据权利要求9所述的电子设备,其特征在于,所述图像采集装置包括深度相机,所述深度相机用于拍摄深度图像。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811351512.7A CN109448117A (zh) | 2018-11-13 | 2018-11-13 | 图像渲染方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811351512.7A CN109448117A (zh) | 2018-11-13 | 2018-11-13 | 图像渲染方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109448117A true CN109448117A (zh) | 2019-03-08 |
Family
ID=65553326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811351512.7A Pending CN109448117A (zh) | 2018-11-13 | 2018-11-13 | 图像渲染方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109448117A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277797A (zh) * | 2020-02-03 | 2020-06-12 | 重庆特斯联智慧科技股份有限公司 | 一种用于安防监视的vr立体成像系统 |
CN113793402A (zh) * | 2021-08-10 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN114494328A (zh) * | 2022-02-11 | 2022-05-13 | 北京字跳网络技术有限公司 | 图像显示方法、装置、电子设备及存储介质 |
WO2023138504A1 (zh) * | 2022-01-21 | 2023-07-27 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218266A1 (en) * | 2011-02-24 | 2012-08-30 | Nintendo Co., Ltd. | Storage medium having stored therein display control program, display control apparatus, display control system, and display control method |
CN102799435A (zh) * | 2012-07-16 | 2012-11-28 | Tcl集团股份有限公司 | 一种3d控件交互方法及系统 |
CN106027855A (zh) * | 2016-05-16 | 2016-10-12 | 深圳迪乐普数码科技有限公司 | 一种虚拟摇臂的实现方法和终端 |
CN107274472A (zh) * | 2017-06-16 | 2017-10-20 | 福州瑞芯微电子股份有限公司 | 一种提高vr播放帧率的方法和装置 |
CN108389245A (zh) * | 2018-02-13 | 2018-08-10 | 鲸彩在线科技(大连)有限公司 | 动画场景的渲染方法、装置、电子设备和可读存储介质 |
CN108629847A (zh) * | 2018-05-07 | 2018-10-09 | 网易(杭州)网络有限公司 | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 |
-
2018
- 2018-11-13 CN CN201811351512.7A patent/CN109448117A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218266A1 (en) * | 2011-02-24 | 2012-08-30 | Nintendo Co., Ltd. | Storage medium having stored therein display control program, display control apparatus, display control system, and display control method |
CN102799435A (zh) * | 2012-07-16 | 2012-11-28 | Tcl集团股份有限公司 | 一种3d控件交互方法及系统 |
CN106027855A (zh) * | 2016-05-16 | 2016-10-12 | 深圳迪乐普数码科技有限公司 | 一种虚拟摇臂的实现方法和终端 |
CN107274472A (zh) * | 2017-06-16 | 2017-10-20 | 福州瑞芯微电子股份有限公司 | 一种提高vr播放帧率的方法和装置 |
CN108389245A (zh) * | 2018-02-13 | 2018-08-10 | 鲸彩在线科技(大连)有限公司 | 动画场景的渲染方法、装置、电子设备和可读存储介质 |
CN108629847A (zh) * | 2018-05-07 | 2018-10-09 | 网易(杭州)网络有限公司 | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277797A (zh) * | 2020-02-03 | 2020-06-12 | 重庆特斯联智慧科技股份有限公司 | 一种用于安防监视的vr立体成像系统 |
CN111277797B (zh) * | 2020-02-03 | 2022-03-18 | 重庆特斯联智慧科技股份有限公司 | 一种用于安防监视的vr立体成像系统 |
CN113793402A (zh) * | 2021-08-10 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN113793402B (zh) * | 2021-08-10 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
WO2023138504A1 (zh) * | 2022-01-21 | 2023-07-27 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN114494328A (zh) * | 2022-02-11 | 2022-05-13 | 北京字跳网络技术有限公司 | 图像显示方法、装置、电子设备及存储介质 |
CN114494328B (zh) * | 2022-02-11 | 2024-01-30 | 北京字跳网络技术有限公司 | 图像显示方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102497683B1 (ko) | 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 | |
US10754423B2 (en) | Providing virtual reality experience service | |
JP6687204B2 (ja) | 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法 | |
CN109448117A (zh) | 图像渲染方法、装置及电子设备 | |
EP2732436B1 (en) | Simulating three-dimensional features | |
KR102461232B1 (ko) | 화상 처리 방법 및 장치, 전자 디바이스, 및 저장 매체 | |
CN108227916A (zh) | 用于确定沉浸式内容中的兴趣点的方法和设备 | |
CN105516579B (zh) | 一种图像处理方法、装置和电子设备 | |
CN111833403B (zh) | 用于空间定位的方法和装置 | |
CN113228688B (zh) | 在计算设备上创建壁纸图像的系统和方法 | |
KR102374404B1 (ko) | 콘텐트를 제공하기 위한 디바이스 및 방법 | |
KR102317182B1 (ko) | 3차원 객체와 2차원 배경을 이용한 합성 이미지 생성 장치 | |
CN108553895A (zh) | 用户界面元素与三维空间模型关联的方法和装置 | |
CN114419226A (zh) | 全景渲染方法、装置、计算机设备和存储介质 | |
CN111095348A (zh) | 基于摄像头的透明显示器 | |
KR102143319B1 (ko) | 전방향의 구형 라이트 필드 렌더링 방법 | |
US9767580B2 (en) | Apparatuses, methods, and systems for 2-dimensional and 3-dimensional rendering and display of plenoptic images | |
CN108027646A (zh) | 一种终端显示防抖方法及装置 | |
CN113822936A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114463520A (zh) | 一种实现虚拟现实vr漫游的方法及装置 | |
KR102146839B1 (ko) | 실시간 가상현실 구축을 위한 시스템 및 방법 | |
KR101741149B1 (ko) | 가상 카메라의 시점 제어 방법 및 장치 | |
WO2014130039A1 (en) | Relaying 3d information by depth simulation using 2d pixel displacement | |
CN114764848A (zh) | 一种场景光照分布估计方法 | |
CN116883553A (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 |