一种全景图像拼接方法及装置与流程

文档序号:14250551阅读:252来源:国知局
一种全景图像拼接方法及装置与流程

本发明涉及图像处理技术领域,尤其涉及一种全景图像拼接方法及装置。



背景技术:

目前,获得一幅包含各图像信息的宽视角场景的全景图像的办法主要包括:一、使用单个光学系统实现超半球的成像系统,如鱼眼透镜系统,可以形成超过180°的宽视角场景的全景图像;二、采用“硬拼”的方法,即将多路摄像机采集的存在相互重叠的图像序列不作任何处理直接进行拼接,形成一幅宽视角场景的全景图像;三、采用中央处理器(centralprocessingunit,cpu)和图形处理器(graphicsprocessingunit,gpu)对多路摄像机采集的存在相互重叠的图像序列进行坐标变换,将源图像投影到二维平面,对二维图像进行畸变矫正,使相邻图像的重叠区对齐,然后将图像进行融合,形成一幅宽视角场景的全景图像等。

针对现有技术中的第一种方法,使用单个光学系统实现超半球的成像系统会产生不可避免的大畸变,边缘视场的分辨率相对于中心视场大大降低,若想得到较为准确的全景图像,还需要进行后期加工,从而导致获得准确的全景图像的效率较低;第二种方法中,将多摄像机采集的图像直接拼接,由于图像的畸变,拼缝比较明显,或者由于摄像机摆放角度的误差,使得拼缝处也可能存在明显的重叠部分,在这种方法下,若想得到准确的全景图像,仍需要后期加工,导致获得准确的全景图像的效率较低;第三种方法中采用cpu和gpu按照一定的算法将多个摄像机采集的图像进行拼接,难以满足视频流图像的实时处理要求,特别是高分辨率视频流图像实时处理的要求,全景拼接的处理效率较低。

综上可知,现有技术中存在全景图像拼接的效率较低的技术问题。



技术实现要素:

本发明实施例提供一种全景图像拼接方法及装置,用以解决现有技术中存在全景图像拼接的效率较低的技术问题。

第一方面

本发明实施例提供一种全景图像拼接方法,包括:

获取源图像视频流,并确定预设的位置信息集合,其中,一个位置信息用于指示一个源图像块在所述源图像视频流中的具体坐标位置;

分别基于所述位置信息集合中的每个位置信息,从所述源图像视频流中截取相应的源图像块;

基于获得的各个源图像块生成多个目标图像,对所述多个目标图像进行拼接,获得相应的全景图像。

在一种可能的实现方式中,在所述获取源图像视频流之前,预设所述位置信息集合,具体包括:

获取样本源图像集合;

对所述样本源图像集合中的每个样本源图像进行分析处理,转换为相应的目标图像;

获取每个样本源图像对应的目标图像的拼接投影参数,其中,一个目标图像的拼接投影参数用于至少指示所述目标图像在相应的样本源图像中的起始坐标及长宽尺寸;

分别基于每一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息;

将获得的各个位置信息组成位置信息集合。

在一种可能的实现方式中,基于任意一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息,包括:

基于所述任意一个目标图像的拼接投影参数包括的长宽尺寸参数,对所述任意一个目标图像进行划分,获得若干目标图像块;

分别针对每一个目标图像块执行以下操作:

针对一个目标图像块,基于拼接投影参数包括的起始坐标参数确定所述一个目标图像块的第一像素点坐标集合,所述第一像素点坐标集合中包括所述一个目标图像块内所有像素点的坐标;

基于所述一个目标图像块的拼接投影参数包括几何变换参数,确定与所述一个目标图像对应的样本源图像中与所述第一像素点坐标集合对应的第二像素点坐标集合;

基于所述一个目标图像块对应的第二像素点坐标集合,确定所述目标图像块在对应的样本源图像中的位置信息。

在一种可能的实现方式中,所述基于所述一个目标图像块对应的第二像素点坐标集合,确定所述目标图像块在对应的样本源图像中的位置信息,包括:

统计所述一个目标图像块对应的第二像素点坐标集合中的像素点坐标的横坐标和纵坐标,确定最小横坐标、最小纵坐标和最大纵坐标;

基于所述最小横坐标和所述最小纵坐标,确定与所述一个目标图像块对应的源图像块的起始坐标,及基于所述最小纵坐标和所述最大纵坐标,确定与所述一个目标图像块对应的源图像块的跨行数;

基于所述起始坐标和所述跨行数,确定与所述一个目标图像块对应的源图像块的位置信息。

在一种可能的实现方式中,所述分别基于所述位置信息集合中的每个位置信息,从所述源图像视频流中截取相应的源图像块,包括:

从所述源图像视频流中截取每一个源图像块时,执行以下操作:

确定一个源图像块的第三像素点坐标集合及每个像素点坐标对应的像素值,所述第三像素点坐标集合包括所述一个源图像块内所有像素点的坐标;

基于所述第三像素点坐标集合和所述一个源图像块的位置信息,从所述源图像视频流中截取相应的源图像块。

在一种可能的实现方式中,所述基于获得的各个源图像块生成多个目标图像,包括:

基于一个源图像块生成一个目标图像块,执行以下操作:

从所述一个源图像块的第三像素点坐标集合内读取与所述一个目标图像块的第二像素点坐标集合对应的多个像素点的像素值,及所述多个像素点中每个像素点的相邻像素点的像素值;

对读取的所述多个像素点中的一个像素点的像素值及相邻像素点的像素值进行加权求平均,确定所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值;

基于所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值,生成所述一个目标图像块。

在一种可能的实现方式中,所述对所述多个目标图像进行拼接,获得相应的全景图像,包括:

基于预设规则,将具有像素值的多个目标图像进行拼接,获得全景图像;其中,所述预设规则用于指示生成的多个目标图像的拼接顺序。

第二方面

本发明实施例提供一种全景图像拼接装置,包括:

采集模块,用于获取源图像视频流,并确定预设的位置信息集合,其中,一个位置信息用于指示一个源图像块在所述源图像视频流中的具体坐标位置;

匹配模块,用于分别基于所述位置信息集合中的每个位置信息,从所述源图像视频流中截取相应的源图像块;

拼接模块,用于基于获得的各个源图像块生成多个目标图像,对所述多个目标图像进行拼接,获得相应的全景图像。

在一种可能的实现方式中,所述装置还包括

处理模块,用于在所述获取源图像视频流之前,预设所述位置信息集合,具体包括:

获取样本源图像集合;

对所述样本源图像集合中的每个样本源图像进行分析处理,转换为相应的目标图像;

获取每个样本源图像对应的目标图像的拼接投影参数,其中,一个目标图像的拼接投影参数用于至少指示所述目标图像在相应的样本源图像中的起始坐标及长宽尺寸;

分别基于每一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息;

将获得的各个位置信息组成位置信息集合。

在一种可能的实现方式中,所述处理模块还用于:

基于所述任意一个目标图像的拼接投影参数包括的长宽尺寸参数,对所述任意一个目标图像进行划分,获得若干目标图像块;

分别针对每一个目标图像块执行以下操作:

针对一个目标图像块,基于拼接投影参数包括的起始坐标参数确定所述一个目标图像块的第一像素点坐标集合,所述第一像素点坐标集合中包括所述一个目标图像块内所有像素点的坐标;

基于所述一个目标图像块的拼接投影参数包括几何变换参数,确定与所述一个目标图像对应的样本源图像中与所述第一像素点坐标集合对应的第二像素点坐标集合;

基于所述一个目标图像块对应的第二像素点坐标集合,确定所述目标图像块在对应的样本源图像中的位置信息。

在一种可能的实现方式中,所述处理模块还用于:

统计所述一个目标图像块对应的第二像素点坐标集合中的像素点坐标的横坐标和纵坐标,确定最小横坐标、最小纵坐标和最大纵坐标;

基于所述最小横坐标和所述最小纵坐标,确定与所述一个目标图像块对应的源图像块的起始坐标,及基于所述最小纵坐标和所述最大纵坐标,确定与所述一个目标图像块对应的源图像块的跨行数;

基于所述起始坐标和所述跨行数,确定与所述一个目标图像块对应的源图像块的位置信息。

在一种可能的实现方式中,所述匹配模块具体用于:

从所述源图像视频流中截取每一个源图像块时,执行以下操作:

确定一个源图像块的第三像素点坐标集合及每个像素点坐标对应的像素值,所述第三像素点坐标集合包括所述一个源图像块内所有像素点的坐标;

基于所述第三像素点坐标集合和所述一个源图像块的位置信息,从所述源图像视频流中截取相应的源图像块。

在一种可能的实现方式中,所述拼接模块具体用于:

基于一个源图像块生成一个目标图像块,执行以下操作:

从所述一个源图像块的第三像素点坐标集合内读取与所述一个目标图像块的第二像素点坐标集合对应的多个像素点的像素值,及所述多个像素点中每个像素点的相邻像素点的像素值;

对读取的所述多个像素点中的一个像素点的像素值及相邻像素点的像素值进行加权求平均,确定所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值;

基于所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值,生成所述一个目标图像块。

在一种可能的实现方式中,所述拼接模块具体用于:

基于预设规则,将具有像素值的多个目标图像进行拼接,获得全景图像;其中,所述预设规则用于指示生成的多个目标图像的拼接顺序。

第三方面

本发明实施例提供另一种全景图像拼接装置,包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器、通信接口;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,利用所述通信接口执行如第一方面所述的方法。

第四方面

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面所述的方法。

本发明实施例中,在获取源图像视频流并确定预设的位置信息集合后,可以分别根据预设的位置信息集合中的每个位置信息,确定源图像块在源图像视频流中的具体坐标位置,并从源图像视频流中截取相应的源图像块,然后可以根据获得的各个源图像块生成多个目标图像,对多个目标图像进行拼接以获得相应的全景图像,进而提高了全景图像的拼接效率。

附图说明

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

图1为本发明实施例中全景图像拼接方法的总构思;

图2为本发明实施例中提供的一种全景图像拼接方法的流程示意图;

图3为本发明实施例中目标图像按块划分的示意图;

图4为本发明实施例中目标图像块映射到源图像块的示意图;

图5为本发明实施例中目标图像块的像素点映射到源图像块的像素点的示意图;

图6为本发明实施例中全景图像拼接装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

首先,请参见图1,为本发明实施例中全景图像拼接方法的总构思。为便于说明,图1中,本发明实施例以三目摄像机为例,n目摄像机的全景图像拼接方式与三目摄像机的全景图像拼接方式相同,n为大于等于1的整数。

图1中,针对每一目视频流开辟了三帧的缓存空间,采用循环的方式对源图像进行存储,n为大于等于1的整数。以三目摄像机的第一目摄像机标准视频流为例,获取的源图像存入双倍速率同步动态随机存储器(doubledatarate,ddr)。

在第一帧源图像存入ddr的同时,根据预处理的目标图像的起始坐标和长宽尺寸产生目标图像块坐标,经由后向投影、畸变矫正等操作计算出目标图像块的坐标对应源图像的像素点坐标,对源图像像素点坐标处理后,完成目标图像块对应的源图像块起始坐标初始化,该操作只有在上电或参数变化时执行一次。从第二帧开始,后续的每一帧图像根据源图像起始坐标,从ddr中读取相应的源图像块,产生目标图像块,然后生成待拼接的目标图像。

三目摄像机在分别得到三个目标图像后,可以按照一定的拼接顺序存入ddr,并将三个目标图像拼接为全景图,后续三目摄像机可以从ddr中读取全景图,向后端显示设备输出全景图标准视频流。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。应当说明的是,下述的各实施例是基于同一发明构思的,在理解或解释其中任一实施例的内容时,可以参考其它实施例所记载的内容。

实施例一

请参见图2,本发明实施例提供一种全景图像拼接方法,可以应用于全景图像拼接装置,如摄像机、多目摄像机等装置中,其中,方法的实现过程可以描述如下。

s101:获取源图像视频流,并确定预设的位置信息集合,其中,一个位置信息用于指示一个源图像块在源图像视频流中的具体坐标位置;

s102:分别基于位置信息集合中的每个位置信息,从源图像视频流中截取相应的源图像块;

s103:基于获得的各个源图像块生成多个目标图像,对多个目标图像进行拼接,获得相应的全景图像。

在s101中,处于不同位置的全景图像拼接装置,如处于不同位置的多个摄像机实时获取的多个源图像,可以为源图像视频流;或者,全景图像拼接装置,如多目摄像机等,实时获取不同角度的多个源图像,也可以为源图像视频流,其中,源图像通常为球面图。

全景图像拼接装置可以将获取的源图像视频流存入ddr进行缓存,其中,若全景图像拼接装置为多目摄像机,则针对每一目视频流可以开辟三帧的缓存空间,可以采用循环的方式对采集的源图像进行存储。

全景图像拼接装置在获取源图像视频流时,可以确定预设的位置信息集合,预设的位置信息集合包括多个位置信息,其中,一个位置信息可以用于指示一个源图像块在源图像视频流中的具体坐标位置。

在一种可能的实现方式中,在获取源图像视频流之前,需要预设位置信息集合,可以通过但不仅限于以下方式进行。

获取样本源图像集合;

对样本源图像集合中的每个样本源图像进行分析处理,转换为相应的目标图像;

获取每个样本源图像对应的目标图像的拼接投影参数,其中,一个目标图像的拼接投影参数用于至少指示目标图像在相应的样本源图像中的起始坐标及长宽尺寸;

分别基于每一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息;

将获得的各个位置信息组成位置信息集合。

本发明实施例中,若全景图像拼接装置安装完成或者全景图像拼接装置的位置变动后,在进行全景图像拼接之前,全景图像拼接装置可以获取样本源图像集合,其中,样本源图像集合包括的多个源图像可以是通过处于不同位置的全景图像拼接装置,如处于不同位置的多个摄像机获取的;或者,样本源图像集合包括的多个源图像也可以是由多目摄像机从不同角度获取的等。

然后,全景图像拼接装置可以对样本源图像集合中的每个样本源图像进行分析处理,转换为相应的目标图像,并且可以获取每个样本源图像对应的目标图像的拼接投影参数,一个目标图像的拼接投影参数用于至少指示所述目标图像在相应的样本源图像中的起始坐标及长宽尺寸。

在一种可能的实现方式中,预处理得到的拼接投影参数可以包括几何变换参数、畸变矫正参数、目标图像的长宽尺寸参数和目标图像的起始坐标参数中的一个或者多个,其中,几何变换参数可以用于指示将球面图的源图像投影为二维平面图。

因此,全景图像拼接装置可以分别基于每一个目标图像的拼接投影参数,针对各路源图像独立且并行地确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息。

在一种可能的实现方式中,基于任意一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息,可以实现如下:

全景图像拼接装置可以根据任意一个目标图像的拼接投影参数包括的长宽尺寸参数,对任意一个目标图像进行划分,获得若干目标图像块;其中,目标图像块的大小可以由该块内的像素点经后向投影算法变换后对应源图像的像素点的范围、ddr的效率和硬件的逻辑资源情况共同决定,而目标图像边界块的长宽尺寸可以根据实际情况进行处理,比如目标图像的长宽尺寸或者面积不能被需要划分的目标图像块的大小尺寸或者面积整除,这时,目标图像的边界处的目标图像块的长宽尺寸可以根据实际情况进行划分处理。

请参见图3,为本发明实施例中目标图像按块划分的示意图,图3中,每个目标图像块的大小为64*8。

分别针对一个目标图像块包含的若干目标图像块中的每一个目标图像块执行以下操作:

针对一个目标图像块,可以根据拼接投影参数包括的起始坐标参数,确定该目标图像块的起始位置,然后可以按照从左到右、从上到下的顺序计算出目标图像块内每个像素点的坐标,这些像素点的坐标的集合即为本发明实施例中的一个目标图像块的第一像素点坐标集合。

由于目标图像的像素点经后向投影算法映射到源图像的像素点的位置是不确定的,如果点对点映射直接从ddr读取数据,ddr的利用率太低。本发明实施例中利用了图像连续性的特点,目标图像块的像素点映射到源图像的像素点一定在源图像的某个源图像块范围内,这样就将点对点的映射转化为目标图像块对源图像块的映射。采用ddr突发传输的特点,将目标图像块映射的源图像块从ddr中取出,极大地提高了ddr的效率,保证了全景图像拼接可以实时地进行处理。

请参见图4,为本发明实施例中目标图像块映射到源图像块的示意图。

然后,全景图像拼接装置可以根据一个目标图像块的拼接投影参数包括的几何变换参数,采用后向投影算法,计算上述得到的目标图像的像素点坐标对应于相应源图像的像素点坐标,即确定与一个目标图像对应的样本源图像中与第一像素点坐标集合对应的第二像素点坐标集合。

进而,全景图像拼接装置可以根据一个目标图像块对应的第二像素点坐标集合,确定目标图像块在对应的样本源图像中的位置信息。

在一种可能的实现方式中,全景图像拼接装置可以根据畸变矫正参数,采用畸变矫正算法,对源图像的像素点坐标进行矫正。

在一种可能的实现方式中,全景图像拼接装置可以根据一个目标图像块对应的第二像素点坐标集合,确定目标图像块在对应的样本源图像中的位置信息,可以通过但不仅限于以下方式进行。

统计所述一个目标图像块对应的第二像素点坐标集合中的像素点坐标的横坐标和纵坐标,确定最小横坐标、最小纵坐标和最大纵坐标。

基于最小横坐标和最小纵坐标,确定与一个目标图像块对应的源图像块的起始坐标,及基于最小纵坐标和所述最大纵坐标,确定与一个目标图像块对应的源图像块的跨行数。

举例来说,如图4所示,根据图像连续性的特点,目标图像块内的像素点映射到源图像的像素点一定在某个区域范围内,对目标图像块内映射到源图像的所有像素点进行统计,分别得出横坐标(x轴),纵坐标(y轴)的最小值,即源图像块的起始坐标;同时,得出纵坐标(y轴)的最大值,求纵坐标(y轴)最大值与纵坐标(y轴)最小值差,即源图像块的跨行数。

全景图像拼接装置可以根据基于起始坐标和跨行数,确定与一个目标图像块对应的源图像块的位置信息。

后续,全景图像拼接装置可以将所有目标图像对应的源图像块的起始坐标和跨行数存入随机存取存储器(randomaccessmemory,ram),即完成了源图像块起始坐标初始化。

源图像块起始坐标初始化的过程只在全景图像拼接装置上电或拼接投影参数发生变化后的一帧的时间内完成,目的是,在拼接投影参数确定后,目标图像块可以快速定位对应的源图像块在ddr中的位置。同时该初始化过程是实时计算的,使全景图像拼接装置,如多目摄像机等,可以适应不同的场景需求,同时降低了多目摄像机之间的相对位置,夹角的要求。只需根据多目摄像机不同应用场景采集一组源图像计算出拼接投影参数即可,极大的提高了多目摄像机使用的灵活性。

然后可以进入s102,即分别基于位置信息集合中的每个位置信息,从源图像视频流中截取相应的源图像块。

全景图像拼接装置在从源图像视频流中截取每一个源图像块时,执行以下操作:

确定一个源图像块的第三像素点坐标集合及每个像素点坐标对应的像素值,第三像素点坐标集合包括一个源图像块内所有像素点的坐标;

基于第三像素点坐标集合和一个源图像块的位置信息,从源图像视频流中截取相应的源图像块。

也就是说,全景图像拼接装置可以确定一个源图像块内的所有像素点的坐标及每个像素点坐标对应的像素值,然后可以根据这些像素点坐标集合和源图像块的位置信息,从源图像视频流中截取相应的源图像块。

举例来说,全景图像拼接装置在源图像块起始坐标初始化的一帧时间内,前一帧源图像存入ddr,下一帧图像开始时,从存储单元,如ram中取出第一个源图像块的起始地址和跨行数,然后根据起始地址和跨行数计算并确定源图像块在ddr中的位置和大小,进而从源图像视频流中截取相应的第一源图像块。然后,将得出第一个源图像块内的像素值存入本地的存储单元,如ram中。

当第一个源图像块从ddr中读取完毕后,开始读取下一个源图像块的起始地址和跨行数,读取下一个源图像块的数据存入另一个ram中。

在s103中,全景图像拼接装置可以根据获得的各个源图像块生成多个目标图像,对多个目标图像进行拼接,获得相应的全景图像。

在一种可能的实现方式中,基于获得的各个源图像块生成多个目标图像,可以通过以下方式进行。

基于一个源图像块生成一个目标图像块,执行以下操作:

从一个源图像块的第三像素点坐标集合内读取与一个目标图像块的第二像素点坐标集合对应的多个像素点的像素值,及所述多个像素点中每个像素点的相邻像素点的像素值。

比如,若全景图像拼接装置需要读取目标图像块的一个像素点坐标对应的像素点的像素值,可以根据目标图像块的该像素点坐标从与目标图像块对应的源图像块内查找与该像素点坐标对应的像素点的像素值及相邻像素点的像素值,其中,一个像素点可以有一个或者多个相邻像素点。

对读取的所述多个像素点中的一个像素点的像素值及相邻像素点的像素值进行加权求平均,确定第二像素点坐标集合中每个像素点坐标对应的像素点的像素值。也就是说,若获得的是一个像素点的像素值及相邻的一个像素点的像素值,则对两个像素点的像素值进行加权求平均即可得到目标图像块内相应像素点坐标对应的像素点的像素值;或者,若获得的是一个像素点的像素值及相邻的多个像素点的像素值,则对一个像素点的像素值及相邻的多个像素点的像素值进行加权求平均,即可得到目标图像块内相应像素点坐标对应的像素点的像素值。

基于第二像素点坐标集合中每个像素点坐标对应的像素点的像素值,生成一个目标图像块,即确定一个目标图像块的第二像素点坐标集合中每个像素点坐标对应的像素点的像素值后,生成待拼接的具有像素值的一个目标图像块。

举例来说,如图5所示,为本发明实施例中目标图像块的像素点映射到源图像块的像素点的示意图。

全景图像拼接装置可以从ram中取出该像素及相邻像素的值,采用加权求均值的方法,得出目标图像块相应像素点的值,利用像素点对点映射,可以从ram中快速取出目标图像块的像素点对应的源图像块的像素点,从而完成目标图像的生成,进而提高了点对点从源图像中寻找对应像素点的速率。

如图1所示,三目摄像机目标图像的生成是并行计算的,将通过上述方法获得的多个目标图像按照预设规则存入ddr,拼接成相应的全景图,其中,预设规则可以用于指示生成的多个目标图像的拼接顺序。

在实际应用中,预设规则可以根据摄像机的排位进行设置,比如,摄像机从左到右进行排位,那么我们最后获得全景图也需要从左到右的顺序进行拼接,因此,预设规则即为将目标图像按照从左到右的顺序进行拼接等。

而若拼接时相邻的目标图像出现重叠,则可以采用加权求平均等方法将相邻的两个目标图像的重叠部分进行融合,然后按照标准视频流的格式,输出给后端显示设备。

综上所述,本发明实施例的一个或者多个技术方案,具有如下技术效果或者优点:

第一、本发明实施例中,在获取源图像视频流并确定预设的位置信息集合后,可以分别根据预设的位置信息集合中的每个位置信息,确定源图像块在源图像视频流中的具体坐标位置,并从源图像视频流中截取相应的源图像块,然后可以根据获得的各个源图像块生成多个目标图像,对多个目标图像进行拼接以获得相应的全景图像,进而提高了全景图像的拼接效率。

第二、由于本发明实施例中全景图像拼接装置,如多目摄像机等的各路源图像视频流独立,可以并行处理,提高了全景图像拼接的处理效率,确保了全景图像拼接的实时性。同时,由于各路源图像视频流是独立进行处理,便于进行摄像机数量的扩展,可以快速的扩展为4目摄像机、5目摄像机、6目摄像机等。

第三、由于本发明实施例中可以采用拼接投影参数实时配置的方式,可以不断的调试参数,只要拼接投影参数满足要求,可以达到无缝拼接的效果。

第四、由于本发明实施例中可以采用按块划分、三层寻址的方式,以完成点对点映射寻找对应像素点的处理方法,极大地提高了点对点的寻找效率,保证了全景拼接实时完成。第一层寻址是寻找源图像在ddr缓存中的位置;第二层寻找是寻找目标图像块对应的源图像块在源图像中的位置;第三层寻址是寻找目标图像块中的像素点对应的源图像的像素点在ram中的位置。

第五、本发明实施例中提出源图像块起始坐标初始化的概念。初始化过程在设备上电或拼接投影参数发生变化后的一帧时间内完成,可以提前预知目标图像块对应的源图像块在ddr中的位置,在目标图像块坐标生成前将其对应的源图像块从ddr取出存入硬件的ram资源中,极大的提高了处理效率。同时该过程可以实时的进行,确保拼接投影参数可以随时更改,使设备不再拘泥于摄像机的位置、夹角以及外部环境的变化,从而提高设备使用的灵活性。

实施例二

请参见图6,基于同一发明构思,本发明实施例提供一种全景图像拼接装置,包括采集模块61、匹配模块62和拼接模块63。

其中,采集模块61,用于获取源图像视频流,并确定预设的位置信息集合,其中,一个位置信息用于指示一个源图像块在所述源图像视频流中的具体坐标位置;

匹配模块62,用于分别基于所述位置信息集合中的每个位置信息,从所述源图像视频流中截取相应的源图像块;

拼接模块63,用于基于获得的各个源图像块生成多个目标图像,对所述多个目标图像进行拼接,获得相应的全景图像。

在一种可能的实现方式中,所述装置还包括

处理模块,用于在所述获取源图像视频流之前,预设所述位置信息集合,具体包括:

获取样本源图像集合;

对所述样本源图像集合中的每个样本源图像进行分析处理,转换为相应的目标图像;

获取每个样本源图像对应的目标图像的拼接投影参数,其中,一个目标图像的拼接投影参数用于至少指示所述目标图像在相应的样本源图像中的起始坐标及长宽尺寸;

分别基于每一个目标图像的拼接投影参数,确定相应的目标图像包含的若干目标图像块在对应的样本源图像中的位置信息;

将获得的各个位置信息组成位置信息集合。

在一种可能的实现方式中,所述处理模块还用于:

基于所述任意一个目标图像的拼接投影参数包括的长宽尺寸参数,对所述任意一个目标图像进行划分,获得若干目标图像块;

分别针对每一个目标图像块执行以下操作:

针对一个目标图像块,基于拼接投影参数包括的起始坐标参数确定所述一个目标图像块的第一像素点坐标集合,所述第一像素点坐标集合中包括所述一个目标图像块内所有像素点的坐标;

基于所述一个目标图像块的拼接投影参数包括几何变换参数,确定与所述一个目标图像对应的样本源图像中与所述第一像素点坐标集合对应的第二像素点坐标集合;

基于所述一个目标图像块对应的第二像素点坐标集合,确定所述目标图像块在对应的样本源图像中的位置信息。

在一种可能的实现方式中,所述处理模块还用于:

统计所述一个目标图像块对应的第二像素点坐标集合中的像素点坐标的横坐标和纵坐标,确定最小横坐标、最小纵坐标和最大纵坐标;

基于所述最小横坐标和所述最小纵坐标,确定与所述一个目标图像块对应的源图像块的起始坐标,及基于所述最小纵坐标和所述最大纵坐标,确定与所述一个目标图像块对应的源图像块的跨行数;

基于所述起始坐标和所述跨行数,确定与所述一个目标图像块对应的源图像块的位置信息。

在一种可能的实现方式中,所述匹配模块62具体用于:

从所述源图像视频流中截取每一个源图像块时,执行以下操作:

确定一个源图像块的第三像素点坐标集合及每个像素点坐标对应的像素值,所述第三像素点坐标集合包括所述一个源图像块内所有像素点的坐标;

基于所述第三像素点坐标集合和所述一个源图像块的位置信息,从所述源图像视频流中截取相应的源图像块。

在一种可能的实现方式中,所述拼接模块63具体用于:

基于一个源图像块生成一个目标图像块,执行以下操作:

从所述一个源图像块的第三像素点坐标集合内读取与所述一个目标图像块的第二像素点坐标集合对应的多个像素点的像素值,及所述多个像素点中每个像素点的相邻像素点的像素值;

对读取的所述多个像素点中的一个像素点的像素值及相邻像素点的像素值进行加权求平均,确定所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值;

基于所述第二像素点坐标集合中每个像素点坐标对应的像素点的像素值,生成所述一个目标图像块。

在一种可能的实现方式中,所述拼接模块63具体用于:

基于预设规则,将具有像素值的多个目标图像进行拼接,获得全景图像;其中,所述预设规则用于指示生成的多个目标图像的拼接顺序。

实施例三

基于同一发明构思,本发明实施例中提供一种全景图像拼接装置,所述装置包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器、通信接口;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,利用所述通信接口执行如实施例一中所述的方法。

实施例四

基于同一发明构思,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如实施例一的方法。

在具体的实施过程中,计算机可读存储介质包括:通用串行总线闪存盘(universalserialbusflashdrive,usb)、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的存储介质。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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