一种全景图像生成方法及装置与流程

文档序号:17251256发布日期:2019-03-30 09:04阅读:141来源:国知局
一种全景图像生成方法及装置与流程

本发明涉及图像处理技术领域,特别是涉及一种全景图像生成方法及装置。



背景技术:

目前,全景图像已在诸多领域发挥出巨大价值和优势。例如:在车载领域中,为驾驶人员提供车辆周围360度全景图像,使得驾驶人员能够更清楚地感知周围环境,进而提高驾驶的安全性。

现有的全景图像生成方案一般包括:采集二维平面图像;对该二维平面图像进行畸变校正,得到畸变校正图;再通过鸟瞰视角变换,将畸变校正图变换为俯视鸟瞰图;将俯视鸟瞰图预设的立体模型中进行纹理映射,得到全景图像。

上述方案中,需要生成畸变校正图、俯视鸟瞰图,占用较多存储资源。



技术实现要素:

本发明实施例的目的在于提供一种全景图像生成方法及装置,以节省存储资源。

为达到上述目的,本发明实施例公开了一种全景图像生成方法,包括:

获取二维平面图像;

根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点;其中,所述映射关系中包含所述预设立体模型中各个网格点与二维平面图像中像素点的对应关系;

针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成;

对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

可选的,建立所述映射关系的过程可以包括:

确定所述预设立体模型中的网格点;

针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

确定所述投影线与所述俯视鸟瞰平面的交点;

将所述交点转换为俯视鸟瞰像素点;

根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

可选的,所述将所述交点转换为俯视鸟瞰像素点的步骤,可以包括:

根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。

可选的,所述确定所述预设立体模型中的网格点的步骤,可以包括:

在所述预设立体模型中划分经纬度;

根据划分结果,确定所述模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值;

所述根据每个网格点及其对应的二维平面像素点,建立所述映射关系的步骤,可以包括:

针对每个网格点,以该网格点的经度值和纬度值为索引,建立该网格点的三维坐标值与其对应的二维平面像素点的像素坐标值之间的映射关系;

所述根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点的步骤,可以包括:

基于所述索引,依次确定当前待映射网格点;

针对每个当前待映射网格点,确定该当前网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值;

所述对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像的步骤,可以包括:

分别将每个网格平面作为待渲染平面;

根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;

根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;

利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

可选的,所述在所述预设立体模型中划分经纬度的步骤,可以包括:

确定所述预设立体模型对应的每个视点的纬度区间;

计算所述每个视点的纬度区间的纬度区间和;

将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;

将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;

根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

可选的,建立所述映射关系的过程可以包括:

根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;

根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;

将所述俯视鸟瞰像素点转换为世界坐标点;

确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;

将所述投影线与所述预设立体模型的交点确定为网格点;

根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

可选的,在所述根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点的步骤之后,还可以包括:

将映射失败的网格点标记为无效点;

所述针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域的步骤,包括:

针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;

所述对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像的步骤,包括:

对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

可选的,所述获取二维平面图像的步骤,可以包括:

获取多个视点的二维平面图像;

所述根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点的步骤,包括:

确定当前视点、以及预设立体模型在所述当前视点的各个目标网格点;

根据预先建立的映射关系,确定所述各个目标网格点映射到所述二维平面图像中的像素点;

所述针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域的步骤,可以包括:

针对所述预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域;其中,一个目标网格平面由第一预设数量个目标网格点构成;

所述对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像的步骤,可以包括:

对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

为达到上述目的,本发明实施例还公开了一种全景图像生成装置,包括:

获取模块,用于获取二维平面图像;

第一确定模块,用于根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点;其中,所述映射关系中包含所述预设立体模型中各个网格点与二维平面图像中像素点的对应关系;

第二确定模块,用于针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成;

渲染模块,用于对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

可选的,所述装置还可以包括:

第三确定模块,用于确定所述预设立体模型中的网格点;

第四确定模块,用于针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

第五确定模块,用于确定所述投影线与所述俯视鸟瞰平面的交点;

第一转换模块,用于将所述交点转换为俯视鸟瞰像素点;

逆变换模块,用于根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

逆运算模块,用于根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

第一建立模块,用于根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

可选的,所述第一转换模块,具体可以用于:

根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。

可选的,所述第三确定模块,可以包括:

划分子模块,用于在所述预设立体模型中划分经纬度;

确定子模块,用于根据划分结果,确定所述模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值;

所述第一建立模块,具体可以用于:

针对每个网格点,以该网格点的经度值和纬度值为索引,建立该网格点的三维坐标值与其对应的二维平面像素点的像素坐标值之间的映射关系;

所述第一确定模块,具体可以用于:

基于所述索引,依次确定当前待映射网格点;针对每个当前待映射网格点,确定该当前网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值;

所述渲染模块,具体可以用于:

分别将每个网格平面作为待渲染平面;根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

可选的,所述划分子模块,具体可以用于:

确定所述预设立体模型对应的每个视点的纬度区间;

计算所述每个视点的纬度区间的纬度区间和;

将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;

将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;

根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

可选的,所述装置还可以包括:

畸变校正运算模块,用于根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;

透视变换模块,用于根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;

第二转换模块,用于将所述俯视鸟瞰像素点转换为世界坐标点;

第六确定模块,用于确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;

第七确定模块,用于将所述投影线与所述预设立体模型的交点确定为网格点;

第二建立模块,根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

可选的,所述装置还可以包括:

标记模块,用于将映射失败的网格点标记为无效点;

所述第二确定模块,具体可以用于:

针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;

所述渲染模块,具体可以用于:

对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

可选的,所述装置还可以包括:

所述获取模块,具体可以用于:

获取多个视点的二维平面图像;

所述第一确定模块,具体可以用于:

确定当前视点、以及预设立体模型在所述当前视点的各个目标网格点;根据预先建立的映射关系,确定所述各个目标网格点映射到所述二维平面图像中的像素点;

所述第二确定模块,具体可以用于:

针对所述预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域;其中,一个目标网格平面由第一预设数量个目标网格点构成;

所述渲染模块,具体可以用于:

对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

为达到上述目的,本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一种全景图像生成方法。

为达到上述目的,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种全景图像生成方法。

应用本发明所示实施例,根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到二维平面图像中的像素点,多个网格点构成一个网格平面,相对应的,映射到的多个像素点也构成一个像素区域,对于每个网格平面,用该网格平面对应的像素区域进行渲染,进而得到全景图像;可见,本方案不需要生成畸变校正图、俯视鸟瞰图,节省了存储资源。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的全景图像生成方法的第一种流程示意图;

图2为本发明实施例提供的一种立体模型示意图;

图3为本发明实施例提供的一种映射关系的存储样式示意图;

图4为本发明实施例提供的全景图像生成方法的第二种流程示意图;

图5为本发明实施例提供的一种生成可漫游的全景图像视频的架构示意图;

图6为本发明实施例提供的某视点下的全景图像示意图;

图7为本发明实施例提供的一种全景图像生成装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决上述技术问题,本发明实施例提供了一种全景图像生成方法及装置。该方法及装置可以应用于具有图像处理功能的各种设备,具体不做限定。

下面首先对本发明实施例提供的一种全景图像生成方法进行详细说明。

图1为本发明实施例提供的全景图像生成方法的第一种流程示意图,包括:

s101:获取二维平面图像。

s102:根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到该二维平面图像中的像素点;其中,该映射关系中包含该预设立体模型中各个网格点与二维平面图像中像素点的对应关系。

s103:针对该预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成。

s104:对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

应用本发明图1所示实施例,根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到二维平面图像中的像素点,多个网格点构成一个网格平面,相对应的,映射到的多个像素点也构成一个像素区域,对于每个网格平面,用该网格平面对应的像素区域进行渲染,进而得到全景图像;可见,本方案不需要生成畸变校正图、俯视鸟瞰图,节省了存储资源。

下面对图1所示实施进行详细说明:

s101:获取二维平面图像。

作为一种实施方式,执行主体(执行本方案的设备,以下简称本设备)可以具有图像采集功能,s101中获取的二维平面图像可以为本设备采集的。作为另一种实施方式,本设备也可以与其他相机通信连接,并获取其他相机采集的二维平面图像。

获取到的二维平面图像可以为一张也可以为多张,如果为多张,可以为同一场景下的各视点的图像。该二维平面图像也可以为一段视频中的一帧图像,或者,多段视频中的多帧图像,具体不做限定。

s102:根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到该二维平面图像中的像素点;其中,该映射关系中包含该预设立体模型中各个网格点与二维平面图像中像素点的对应关系。

本实施例中提供两种建立映射关系的方式,其中一种为逆向建立映射关系的方式,另一种为正向建立映射关系的方式。

逆向建立映射关系的方式:

确定所述预设立体模型中的网格点;

针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

确定所述投影线与所述俯视鸟瞰平面的交点;

将所述交点转换为俯视鸟瞰像素点;

根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

结合图2进行说明,图2中的部分球体即为该预设立体模型,与该部分球体相切的水平平面为该预设立体模型的俯视鸟瞰平面。投影点可以位于该部分球体的球心处,也可以位于球心与俯视鸟瞰平面之间的垂线中,该投影点位于俯视鸟瞰平面上方。

点q为预设立体模型中的网格点,确定点q与投影点g之间的投影线,该投影线与该俯视鸟瞰平面交于点v。

将交点v转换为俯视鸟瞰像素点,在本发明的一个可选实施方式中,可以根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。该转换系数可以理解为将世界坐标系中坐标点转换为俯视鸟瞰图中像素点的转换系数,需要说明的是,在本实施例中,并不生成俯视鸟瞰图,只是利用转换系数,对上述交点进行转换。

在这种实施方式中,图2中的立体模型所在的坐标系可以为世界坐标系,或者,也可以为其他坐标系,再建立该其他坐标系与世界坐标系的转换关系,也是合理的。

假设点q在世界坐标系中的三维坐标值为(qx,qy,qz),点v在世界坐标系中的坐标值为(vx,vy),z轴中的坐标vz这里可以不考虑。

假设该转换系数为k,交点v转换后的俯视鸟瞰像素点为v,像素点v的像素坐标值为(vx,vy),则:vx=k*vx,vy=k*vy,这样,便得到了俯视鸟瞰像素点,俯视鸟瞰像素点可以理解为俯视鸟瞰图中的像素点。需要说明的是,在本实施例中,并不真正生成俯视鸟瞰图,只是在建立映射关系的过程中,为了方便描述,将投影线与俯视鸟瞰平面的交点转换得到的像素点称为俯视鸟瞰像素点。

根据采集s101中二维平面图像的相机的外参,对俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点,畸变校正像素点可以理解为畸变校正图中的像素点。需要说明的是,在本实施例中,并不真正生成畸变校正图,只是在建立映射关系的过程中,为了方便描述,将通过透视逆变换得到的像素点称为畸变校正像素点。

再根据采集s101中二维平面图像的相机的内参,将该畸变校正像素点进行畸变校正逆运算,得到二维平面像素点,该二维平面像素点即为网格点q映射到二维平面图像中的像素点,也就是网格点q对应的二维平面像素点,这里假设该二维平面像素点的像素值坐标为(px,py)。

利用这种方式,可以确定出图2立体模型中的各个网格点对应的二维平面像素点,这样,便可以建立映射关系,该映射关系中包含立体模型中各个网格点与二维平面图像中像素点的对应关系,其中包含(qx,qy,qz)与(px,py)的对应关系。

作为一种实施方式,在逆向建立映射关系的过程中,可以先在该预设立体模型中划分经纬度,然后根据划分结果,确定模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值。这样,建立的映射关系中包含网格点的经度值和纬度值、网格点的三维坐标值、网络点对应的二维平面像素点的像素坐标值,具体的,可以将网格点的经度值和纬度值作为索引,建立该映射关系。

可以理解,该预设立体模型的形状、在坐标系中的位置是预先设定的。仍以图2为例进行说明,设定该部分球体的球心坐标、球体半径、高度(从俯视鸟瞰平面到该部分球体最高边缘的垂直距离),便设定了该部分球体的形状及位置,这样便可以进一步确定出该模型表面各网格点的三维坐标值。另外,在该模型表面划分经纬度,便可以确定出各网格点的经度值和纬度值。

在本实施方式中,s102可以包括:基于所述索引,依次确定当前待映射网格点;针对每个当前待映射网格点,确定该当前待映射网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值。

假设图2中的网格点q的经度值为i,纬度值为j,则建立的映射关系中包含(i,j)、(qx,qy,qz)、(px,py)三者的对应关系,其中,(i,j)可以作为索引。这样,s102中便可以按照各网格点经纬度的顺序,依次确定当前待映射网格点,并确定当前待映射网格点的三维坐标值及其对应的像素坐标值,以映射得到二维平面图像中的像素点。

本实施方式可以应用于球体模型中,或者类球体模型中,比如图2中的部分球体模型中,在这些模型中,模型表面网格点的三维坐标值不是线性排列的。可以理解,在这些模型中,根据经纬度确定网格点,相比于根据三维坐标值确定网格点,能够更好地调整网格点的分布情况,也能够更好地调整网格点的疏密程度。

再者,网格点的疏密程度反应了映射关系的分辨率,网格点数量越多,越密集,建立的映射关系越多,分辨率越大,而这里映射关系的分辨率是可调的,与图像的分辨率无关。

在本实施方式中,在该预设立体模型中划分经纬度,可以包括:确定所述预设立体模型对应的每个视点的纬度区间;计算所述每个视点的纬度区间的纬度区间和;将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

以图2为例进行说明,图2中的模型反应了360度的视角,而s101中获取的二维平面图像通常不是360度视角的图像,因此,s101中可以获取多张二维平面图像,这多张图像为立体模型对应的各个视点下的图像,可以拼接成360度视角的图像。假设s101中获取了四张二维平面图像,每张二维平面图像的视角大于等于90度。在多数场景中,拼接过程为横向拼接,比如,将图2的部分球体划分为四部分,这四部分分别对应一张图像,这四张图像横向拼接时与该球体的视角一致。

横向拼接可以理解为将上述四张图像的宽度加和(去除重叠部分),高度不变,而划分纬度是基于图2中球体高度进行划分,划分经度是基于将图2中球体表面拉伸后得到平面的宽度进行划分,因此,将这四张图像的纬度区间和去除重叠部分,即为图2中部分球体的纬度区间,而这四张图像的经度区间一致或近似一致,可以直接将该经度区间作为图2中部分球体的经度区间。确定了模型的经纬度区间,便可以在模型中划分经纬度。

建立映射关系后,对其进行存储,映射关系的存储样式可以如图3所示,w1、w2、w3、w4分别为立体模型对应的每个视点(视点1、视点2、视点3、视点4)的纬度区间,其中存在重叠部分d(假设三个重叠部分都为d),立体模型的纬度区间w=w1+w2+w3+w4-3d,h为该每个视点的经度区间,立体模型的经度区间也为h。图3中的某个点的经度值为i,纬度值为j,该位置处存储了网格点的三维坐标值及对应的像素坐标值,比如,[(qx,qy,qz),(px,py)]。

“视点”可以用于描述虚拟观察者的位置,“视点”可以包含相机位置、及相机采集图像的视角等信息,图3中每个视点可以对应一台相机。相比于一些方案中,每台相机对应一个映射表,本实施方式中,多台相机对应一份映射关系,一方面节约了存储资源,另一方面,确定网格点映射到的像素点时,查找一份映射关系相比于查找多个映射表,查找效率更高。

正向建立映射关系的方式:

根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;将所述俯视鸟瞰像素点转换为世界坐标点;确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;将所述投影线与所述预设立体模型的交点确定为网格点;根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

正向建立映射关系的方式与上述逆向建立映射关系的方式相反,具体如下:

假设二维平面图像中某像素点的像素值坐标为(px,py),根据相机内参,对该像素点进行畸变校正,得到畸变校正像素点;根据相机外参,对该畸变校正像素点进行透视变换,得到俯视鸟瞰像素点(vx,vy);根据预先设定的转换系数k,将俯视鸟瞰像素点(vx,vy)转换为世界坐标系中的坐标值(vx,vy);将(vx,vy)投影到立体模型中对应的网格点的三维坐标值为(qx,qy,qz);建立的映射关系中包含(qx,qy,qz)。

在正向建立映射关系的方式中,由像素点映射到网格点,像素点的数量与映射关系中包含的网格点的数量相关,因此,映射关系的分辨率与二维平面图像的分辨率也是相关的,也就是说,上述逆向建立映射关系的方式比该正向建立映射关系的方式,能够更方便地调整映射关系的分辨率。

s103:针对该预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域。其中,一个网格平面由第一预设数量个网格点构成。

s104:对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

第一预设数量可以根据实际情况进行设定,比如三、四、五等。假设为三,可以理解,三个网格点可以组成一个网格平面,这三个网格点映射到二维平面图像中的三个像素点组成一个像素区域,该像素区域为该网格平面相对应。这样,各个网格平面都对应一个像素区域,对于每个网格平面,用该网格平面对应的像素区域进行渲染,便得到了全景图像。

作为一种实施方式,可以通过gui(graphicaluserinterface,图形用户界面,又称图形用户接口)技术,用像素区域对网格平面进行渲染。通过gui渲染时,可以在像素区域中选取一些像素点,利用这些像素点的像素值对网格平面进行渲染,而选取像素点的数量取决于设备性能。

在上述一种实施方式中,建立的映射关系中以网格点的经纬度作为索引,这种实施方式中,s104可以包括:分别将每个网格平面作为待渲染平面;根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

在这种实施方式中,可以按照各网格点经纬度的顺序,依次确定当前待映射网格点,并确定当前待映射网格点的三维坐标值及其对应的像素坐标值;这样便得到了每个网格点的三维坐标值,根据该三维坐标值,可以在立体模型中确定出待渲染平面的位置(待渲染位置);另外,还得到了每个网格点对应像素点的像素坐标值,根据该像素坐标值,可以在二维平面图像中确定出一个目标区域,利用该目标区域对该待渲染位置进行渲染,进而得到全景图像。

作为一种实施方式,在s102之后还包括:将映射失败的网格点标记为无效点;这种实施方式中,s103可以包括:针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;s104包括:对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

如果立体模型中网格点的数量大于所获取二维平面图像中像素点的数量,则会存在一些映射失败的网格点,这些映射失败的网格点在二维平面图像中没有对应的像素点,也就不能参与后续渲染。因此,可以将这些映射失败的网格点标记为无效点,不再确定包含无效的网格平面对应的像素区域,也就不再对包含无效的网格平面进行渲染。

延续上述例子,假设网格点的三维坐标值为(qx,qy,qz),对应的像素点的像素值坐标为(px,py),如果px>w(图3中立体模型的纬度区间),或者px<0,或者py>h(图3中立体模型的经度区间),或者py<0,这几种情况下,可以将网格点标记为无效点,具体的,可以将qx,qy,qz,px,py都置为flage,flage可以表示无效标志,例如,可以设置flage=-7等特征标记值。

映射失败还包含其他情况,在此不一一列举。

在图1实施例中,s101获取的可以是一段视频中的各帧图像,这种情况下,针对每帧图像都应用图1实施例,可以生成动态的全景图像视频。

应用本发明图1所示实施例,根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到二维平面图像中的像素点,多个网格点构成一个网格平面,相对应的,映射到的多个像素点也构成一个像素区域,对于每个网格平面,用该网格平面对应的像素区域进行渲染,进而得到全景图像;可见,本方案不需要生成畸变校正图、俯视鸟瞰图,节省了存储资源。

图4为本发明实施例提供的全景图像生成方法的第二种流程图,包括:

s401:获取多个视点的二维平面图像。

s402:确定当前视点、以及预设立体模型在该当前视点的各个目标网格点。

s403:根据预先建立的映射关系,确定各个目标网格点映射到该二维平面图像中的像素点。

s404:针对该预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域。其中,一个目标网格平面由第一预设数量个目标网格点构成。

s405:对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

继续以图2为例进行说明,应用图1所示实施例对图2中的部分球体模型进行渲染,可以得到360度的全景图像。而一些情况下,仅需要得到某个视点的全景图像,这些情况下,可以仅生成该视点的全景图像。应用图4所示实施例,可以生成某个视点的全景图像。

下面结合一应用场景进行说明,在车载设备中,假设有4个车载相机分别对准前、后、左、右四个方向进行图像采集。获取同一时刻、同一场景中前、后、左、右(四个视点下的)四张二维平面图像。假设用户仅需要后方的全景图像,则确定当前视点为后方视点。

确定预设立体模型在后方视点的各个目标网格点。在图1实施例的一种实施方式中,确定了立体模型的经纬度区间,其中,纬度区间w=w1+w2+w3+w4-3d,经度区间为h。这种实施方式中,假设w1=w2=w3=w4,则wi=w/4-3d,i∈[1,4]。根据这一算式,可以确定出每个相机视点对应的立体模型中的纬度范围,将这一范围中的网格点确定为目标网格点。

或者,如果获取到n张二维平面图像,则可以利用wi=w/n-(n-1)d,i∈[1,n]来确定每个相机视点对应的立体模型中的纬度范围。

仅确定目标网格点构成的网格平面对应的像素区域。为了方便描述,这里将目标网格点构成的网格平面称为目标网格平面,将目标网格平面对应的像素区域称为目标像素区域。仅利用目标像素区域对目标网格平面进行渲染,得到的是当前视点的全景图像。

在图4实施例中,可以根据实际需求切换当前视点,切换视点后,可以继续利用图4实施例,生成新视点的全景图像。

在图4实施例中,s401获取的可以的多个视点的二维平面图像,可以是多段视频中的图像。如上述车载设备中,4个车载相机分别向本设备发送视频,本设备接收到4段视频,并从这4段视频中分别获取同一时刻的4张图像,针对这4张图像,应用图4实施例,可以生成动态的全景图像视频。另外,还可以切换当前视点,生成动态的、可漫游的、全景图像视频。

举例来说,生成动态的、可漫游的、全景图像视频的架构可以如图5所示,多台车载相机(车载相机1、车载相机2……车载相机n)将采集的视频发送给本设备,本设备根据预先建立的映射关系,可以生成全景视频,还可以根据当前视点,更新生成的全景视频的视点,也就是生成可漫游的全景视频,实现视频漫游。

如图6所示,图6中的视图1、视图2可以理解为显示区域。如果当前视点为视点1,对立体模型中虚线区域进行渲染,得到该视点的全景图像,将并该全景图像显示在视图1中;类似的,如果当前视点为视点2,对立体模型中虚线区域进行渲染,得到该视点的全景图像,将并该全景图像显示在视图2中。

或者,s401中的多个视点的二维平面图像也可以为车载环视镜头所拍摄的多路图像,具体应用场景不做限定。

应用本发明图4所示实施例,可以仅针对当前视点,生成当前视点的全景图像,相比于生成360度全景图像,减少了计算量,而且,还可以实现全景视频漫游,体验更佳。

与上述方法实施例相对应,本发明实施例还提供一种全景图像生成装置。

图7为本发明实施例提供的一种全景图像生成装置的结构示意图,包括:

获取模块701,用于获取二维平面图像;

第一确定模块702,用于根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点;其中,所述映射关系中包含所述预设立体模型中各个网格点与二维平面图像中像素点的对应关系;

第二确定模块703,用于针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成;

渲染模块704,用于对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,所述装置还可以包括:

第三确定模块,用于确定所述预设立体模型中的网格点;

第四确定模块,用于针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

第五确定模块,用于确定所述投影线与所述俯视鸟瞰平面的交点;

第一转换模块,用于将所述交点转换为俯视鸟瞰像素点;

逆变换模块,用于根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

逆运算模块,用于根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

第一建立模块,用于根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

作为一种实施方式,所述第一转换模块,具体可以用于:

根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。

作为一种实施方式,所述第三确定模块,包括:

划分子模块,用于在所述预设立体模型中划分经纬度;

确定子模块,用于根据划分结果,确定所述模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值;

所述第一建立模块,具体可以用于:

针对每个网格点,以该网格点的经度值和纬度值为索引,建立该网格点的三维坐标值与其对应的二维平面像素点的像素坐标值之间的映射关系;

所述第一确定模块,具体可以用于:

基于所述索引,依次确定当前待映射网格点;针对每个当前待映射网格点,确定该当前网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值;

渲染模块705,具体可以用于:

分别将每个网格平面作为待渲染平面;根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

作为一种实施方式,所述划分子模块,具体可以用于:

确定所述预设立体模型对应的每个视点的纬度区间;

计算所述每个视点的纬度区间的纬度区间和;

将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;

将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;

根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

作为一种实施方式,所述装置还可以包括:

畸变校正运算模块,用于根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;

透视变换模块,用于根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;

第二转换模块,用于将所述俯视鸟瞰像素点转换为世界坐标点;

第六确定模块,用于确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;

第七确定模块,用于将所述投影线与所述预设立体模型的交点确定为网格点;

第二建立模块,根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

作为一种实施方式,所述装置还可以包括:

标记模块,用于将映射失败的网格点标记为无效点;

第二确定模块703,具体可以用于:

针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;

渲染模块704,具体可以用于:

对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,所述装置还可以包括:

获取模块701,具体可以用于:

获取多个视点的二维平面图像;

第一确定模块702,具体可以用于:

确定当前视点、以及预设立体模型在所述当前视点的各个目标网格点;根据预先建立的映射关系,确定所述各个目标网格点映射到所述二维平面图像中的像素点;

第二确定模块703,具体可以用于:

针对所述预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域;其中,一个目标网格平面由第一预设数量个目标网格点构成;

渲染模块704,具体可以用于:

对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,

存储器803,用于存放计算机程序;

处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:

获取二维平面图像;

根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点;其中,所述映射关系中包含所述预设立体模型中各个网格点与二维平面图像中像素点的对应关系;

针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成;

对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

确定所述预设立体模型中的网格点;

针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

确定所述投影线与所述俯视鸟瞰平面的交点;

将所述交点转换为俯视鸟瞰像素点;

根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

在所述预设立体模型中划分经纬度;

根据划分结果,确定所述模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值;

针对每个网格点,以该网格点的经度值和纬度值为索引,建立该网格点的三维坐标值与其对应的二维平面像素点的像素坐标值之间的映射关系;

基于所述索引,依次确定当前待映射网格点;

针对每个当前待映射网格点,确定该当前网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值;

分别将每个网格平面作为待渲染平面;

根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;

根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;

利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

确定所述预设立体模型对应的每个视点的纬度区间;

计算所述每个视点的纬度区间的纬度区间和;

将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;

将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;

根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;

根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;

将所述俯视鸟瞰像素点转换为世界坐标点;

确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;

将所述投影线与所述预设立体模型的交点确定为网格点;

根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

在所述根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点的步骤之后,将映射失败的网格点标记为无效点;

针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;

对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,处理器801,还可以用于实现如下步骤:

获取多个视点的二维平面图像;

确定当前视点、以及预设立体模型在所述当前视点的各个目标网格点;

根据预先建立的映射关系,确定所述各个目标网格点映射到所述二维平面图像中的像素点;

针对所述预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域;其中,一个目标网格平面由第一预设数量个目标网格点构成;

对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

应用本发明图8所示实施例,根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到二维平面图像中的像素点,多个网格点构成一个网格平面,相对应的,映射到的多个像素点也构成一个像素区域,对于每个网格平面,用该网格平面对应的像素区域进行渲染,进而得到全景图像;可见,本方案不需要生成畸变校正图、俯视鸟瞰图,节省了存储资源。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

获取二维平面图像;

根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点;其中,所述映射关系中包含所述预设立体模型中各个网格点与二维平面图像中像素点的对应关系;

针对所述预设立体模型中的每个网格平面,将该网格平面中各个网格点映射到的像素点构成的像素区域确定为该网格平面对应的像素区域;其中,一个网格平面由第一预设数量个网格点构成;

对于每个网格平面,用该网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

确定所述预设立体模型中的网格点;

针对所确定的每个网格点,确定该网格点与预设投影点之间的投影线;其中,所述投影点位于所述预设立体模型的俯视鸟瞰平面的上方,所述投影线以所述投影点为起点,且穿过该网格点;

确定所述投影线与所述俯视鸟瞰平面的交点;

将所述交点转换为俯视鸟瞰像素点;

根据采集所述二维平面图像的相机的外参,对所述俯视鸟瞰像素点进行透视逆变换,得到畸变校正像素点;

根据所述相机的内参,对所述畸变校正像素点进行畸变校正逆运算,得到二维平面像素点;

根据每个网格点及其对应的二维平面像素点,建立所述映射关系。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

根据预先设定的转换系数,将所述交点转换为俯视鸟瞰像素点。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

在所述预设立体模型中划分经纬度;

根据划分结果,确定所述模型中的每个网格点、每个网格点的经度值和纬度值、以及每个网格点在所述预设立体模型中的三维坐标值;

针对每个网格点,以该网格点的经度值和纬度值为索引,存储该网格点的三维坐标值与其对应的二维平面像素点的像素坐标值之间的映射关系;

基于所述索引,依次确定当前待映射网格点;

针对每个当前待映射网格点,确定该当前网格点的三维坐标值及其对应的像素坐标值,所确定的像素坐标值为该当前网格点映射到所述二维平面图像中像素点的坐标值;

分别将每个网格平面作为待渲染平面;

根据所述待渲染平面中包含的各个网格点的三维坐标值,在所述预设立体模型中确定待渲染位置;

根据所述待渲染平面中包含的各个网格点的三维坐标值对应的像素坐标值,在所述二维平面图像中确定目标区域;

利用所述目标区域对所述待渲染位置进行渲染,得到全景图像。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

确定所述预设立体模型对应的每个视点的纬度区间;

计算所述每个视点的纬度区间的纬度区间和;

将所述纬度区间和去除各视点间的重叠纬度区间,得到所述预设立体模型的纬度区间;

将所述每个视点的经度区间,确定为所述预设立体模型的经度区间;

根据所述预设立体模型的经度区间和纬度区间,对所述预设立体模型进行经纬度的划分。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

根据采集所述二维平面图像的相机的内参,对二维平面图像样本中的像素点进行畸变校正运算,得到畸变校正像素点;

根据所述相机的外参,对所述畸变校正像素点进行透视变换,得到俯视鸟瞰像素点;

将所述俯视鸟瞰像素点转换为世界坐标点;

确定所述世界坐标点与预设立体模型的投影点之间的投影线,所述投影点为预先设定的;

将所述投影线与所述预设立体模型的交点确定为网格点;

根据每个网格点及其对应的二维平面图像样本中的像素点,建立所述映射关系。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

在所述根据预先建立的映射关系,确定预设立体模型中的各个网格点映射到所述二维平面图像中的像素点的步骤之后,将映射失败的网格点标记为无效点;

针对所述预设立体模型中的每个有效网格平面,将该有效网格平面中各个网格点映射到的像素点构成的像素区域确定为该有效网格平面对应的像素区域,所述有效网格平面为:由除所述无效点之外的网格点构成的网格平面;

对于每个有效网格平面,用该有效网格平面对应的像素区域进行渲染,得到全景图像。

作为一种实施方式,所述计算机程序被处理器执行时还可以用于实现如下步骤:

获取多个视点的二维平面图像;

确定当前视点、以及预设立体模型在所述当前视点的各个目标网格点;

根据预先建立的映射关系,确定所述各个目标网格点映射到所述二维平面图像中的像素点;

针对所述预设立体模型中的每个目标网格平面,将该目标网格平面中网格点映射到的像素点构成的像素区域确定为该目标网格平面对应的目标像素区域;其中,一个目标网格平面由第一预设数量个目标网格点构成;

对于每个目标网格平面,用该目标网格平面对应的目标像素区域进行渲染,得到当前视点的全景图像。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1