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

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

本发明涉及全景图像技术领域,特别涉及一种全景图像拼接的方法及装置。



背景技术:

随着科学技术的发展,全景图像的拍摄已经成为当前用户日常拍摄模式中的一种,目前许多便携数码相机和智能手机都内置有这种功能。全景图像拼接的原理是将多张连续的照片拼接成一张全景照片,若是使用没有全景拼接功能的相机拍摄,也可以利用后期软件自行制作全景拼接照片。全景拼接功能非常实用,可以大幅扩展镜头的表现能力,但在现有的全景图像拼接中,通常会根据一张图像上的关键点寻找另一张待拼接图像上对应一致的点,然后根据关键对应点把图像进行直接对齐;但是由于图像在拍摄的过程中往往会发生形变,因此经常会遇见待匹配图相对于原图发生了形变的情况,此时直接对待匹配的图像进行拼接会造成图像畸变裂痕。



技术实现要素:

本发明提供一种全景图像拼接的方法及装置,用以提升拼接速度,提高图像匹配的视觉效果。

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

获取用于全景拼接的多个图像并将其存储至数据库;

在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二 图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。

在一个实施例中,所述在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值,包括:

在多个所述图像中,选择拍摄的时间顺序相邻/拥有重叠区域的第一图像及第二图像;

检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

在所述第一图像与所述第二图像的重叠区域达到预设阈值时,将所述第一图像设定为变形基准。

在一个实施例中,所述在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接,包括:

在所述第一图像与所述第二图像的重叠区域达到预设阈值时,利用Harris角点检测算法对所述第一图像及所述第二图像的重叠区域进行角点检测;

根据所述角点检测的结果,利用RANSAC算法对所述第一图像角点与所述第二图像角点进行提纯;

将提纯的所述第一图像角点与所述第二图像角点进行匹配;

根据FindHomography输出的透视变换矩阵对所述第二图像进行变形处理;

将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接。

在一个实施例中,所述将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接之后,还包括:

将所述数据库中的所述第二图像替换存储为变形后的所述第二图像,并保存所述第二图像的初始的拍摄时间信息;

当检测到所述第二图像与其他图像的进行拼接时,将变形后的所述第二图像设定为变形基准。

在一个实施例中,所述将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接之后,还包括:

对拼接后的所述第一图像及所述第二图像进行渲染或/和模糊或/和图层混合的细节处理。

根据本发明实施例的第二方面,还提供一种全景图像拼接的装置,包括:

获取模块,用于获取用于全景拼接的多个图像并将其存储至数据库;

选择模块,用于在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

拼接模块,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。

在一个实施例中,所述选择模块包括:

选择子模块,用于在多个所述图像中,选择拍摄的时间顺序相邻/拥有重叠区域的第一图像及第二图像;

检测子模块,用于检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

第一基准设定子模块,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,将所述第一图像设定为变形基准。

在一个实施例中,所述拼接模块包括:

角点检测子模块,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,利用Harris角点检测算法对所述第一图像及所述第二图像的重叠区域进行角点检测;

角点提纯子模块,用于根据所述角点检测的结果,利用RANSAC算法对所述第一图像角点与所述第二图像角点进行提纯;

角点匹配子模块,用于将提纯的所述第一图像角点与所述第二图像角点进行匹配;

变形处理子模块,用于根据FindHomography输出的透视变换矩阵对所述第二图像进行变形处理;

拼接子模块,用于将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接。

在一个实施例中,所述拼接模块还包括:

存储子模块,用于将所述数据库中的所述第二图像替换存储为变形后的所述第二图像,并保存所述第二图像的初始的拍摄时间信息;

第二基准设定子模块,用于当检测到所述第二图像与其他图像的进行拼接时,将变形后的所述第二图像设定为变形基准。

在一个实施例中,所述拼接模块还包括:

细节处理子模块,用于对拼接后的所述第一图像及所述第二图像进行渲染或/和模糊或/和图层混合的细节处理。

本发明实施例提供的技术方案可产生以下有益效果:获取用于全景拼接的多个图像并将其存储至数据库;在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。该方案将待拼接的第二图像进行变形处理后,再将所述第二图像与设定为变形基准的第一图像进行匹配拼接,提升了拼接速度,提高了图像匹配的质量及其视觉效果。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

在附图中:

图1为本发明根据一示例性实施例示出的一种全景图像拼接的方法的流程图;

图2为本发明根据一示例性实施例示出的全景图像拼接的方法中步骤S20的实施方式流程图;

图3为本发明根据一示例性实施例示出的全景图像拼接的方法中步骤S30的一种实施方式流程图;

图4为本发明根据一示例性实施例示出的全景图像拼接的方法中步骤S30的另一种实施方式流程图;

图5为本发明根据一示例性实施例示出的全景图像拼接的方法中步骤S30的又一种实施方式流程图;

图6为本发明根据一示例性实施例示出的全景图像拼接的装置的框图;

图7为本发明根据一示例性实施例示出的全景图像拼接的装置中选择模块62的框图;

图8为本发明根据一示例性实施例示出的全景图像拼接的装置中一种拼接模块63的框图;

图9为本发明根据一示例性实施例示出的全景图像拼接的装置中另一种拼接模块63的框图;

图10为本发明根据一示例性实施例示出的全景图像拼接的装置又一种拼接模块63的框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本公开实施例提供了一种全景图像拼接的方法,用于提高全景图像拼接的的效率,实现视频的快速搜索。如图1所示,该方法包括步骤S10-S30:

在步骤S10中,获取用于全景拼接的多个图像并将其存储至数据库。

其中,所述用于全景拼接的多个图像可以为用户持内置全景拍摄功能的拍摄设备连续拍摄的照片;也可以是用户在自由拍摄后,单独存储至数据库的多个图像。用户可以直接利用该方法在拍摄设备中直接将多个所述图像合成为全景图像,也可以在后期在其他设备中利用该方法将多个所述图像合成为全景图像。

在步骤S20中,在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值。

其中,所述预设的选择规则可以是连续拍摄的多个图像的时间先后顺序,也即,选择的所述第一图像与所述第二图像为先后连续拍摄的两张图像;而当所述图像是用户在自由拍摄后单独存储至数据库的多个图像时,所述预设的选择规则可以是检测其是否拥有重叠区域,如果拥有重叠区域,方可利用其重叠区域对其进行匹配与拼接。当然,在本公开中,所述预设的选择规则还可以是其他合理的选择方式,只要用户能根据该选择规则在多个所述图像中选择出适合匹配拼接的图像即可。

在一个实施例中,如图2所示,所述步骤S20可包括:

步骤S201、在多个所述图像中,选择拍摄的时间顺序相邻/拥有重叠区域的第一图像及第二图像。也即,由上所述,当预设的选择规则为选择拍摄的时间顺序相邻的第一图像及第二图像时,所述第一图像与所述第二图像可以为先后连续拍摄的两张图像;而当所述图像是用户在自由拍摄后单独存储至数据库 的多个图像时,所述预设的选择规则可以是检测其是否拥有重叠区域,如果拥有重叠区域,方可利用其重叠区域对其进行匹配与拼接。

步骤S202、检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值。而不管步骤S201中所述预设的选择规则是选择拍摄的时间顺序相邻还是拥有重叠区域的第一图像及第二图像,只要进行拼接,所述第一图像与所述第二图像之间必须要有一定范围的重叠区域,因此,需要根据用户所需的拼接效果设定一个需要达到的重叠区域的阈值。也即,重叠区域的范围必须大于等于该预设阈值,否则拼接效果会比较差。

步骤S203、在所述第一图像与所述第二图像的重叠区域达到预设阈值时,将所述第一图像设定为变形基准。而当所述第一图像与所述第二图像的重叠区域达到预设阈值时,选定所述第一图像作为变形基准,而对所述第二图像则依据变形基准进行变形处理。

在步骤S30中,在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。当在步骤S20中所述第一图像与所述第二图像的重叠区域达到预设阈值时,选定所述第一图像作为变形基准,而对所述第二图像则依据变形基准进行变形处理后,将所述第二图像与所述第一图像进行拼接,此时,匹配后的图像不会发生畸变裂痕,可以提高图像匹配的视觉效果。

在一个实施例中,如图3所示,所述步骤S30可包括:

步骤S301、在所述第一图像与所述第二图像的重叠区域达到预设阈值时,利用Harris角点检测算法对所述第一图像及所述第二图像的重叠区域进行角点检测。

步骤S302、根据所述角点检测的结果,利用RANSAC算法(RANdom SAmple Consensus:随机抽样一致算法)对所述第一图像角点与所述第二图像角点进行提纯。

步骤S303、将提纯的所述第一图像角点与所述第二图像角点进行匹配。

步骤S304、根据FindHomography输出的透视变换矩阵对所述第二图像进行变形处理;其中,FindHomography输出的透视变换矩阵为OpenCV(Open Source Computer Vision Library:开源计算机视觉库)自带的一个函数。在进行变形处理时,所述第一图像及第二图像进行角点的有效点变换,得到第一图像及第二图像的整体变换矩阵,最后根据所述整体变换矩阵将所述第二图像的重叠区域变换至所述第一图像上。

步骤S305、将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接,且拼接后的图像不会发生畸变裂痕,提升了全景拼接效果。

在一个实施例中,如图4所示,所述步骤S30还可包括:

步骤S306、将所述数据库中的所述第二图像替换存储为变形后的所述第二图像,并保存所述第二图像的初始的拍摄时间信息。也即,当所述第一图像与所述第二图像完成拼接之后,如果所述第二图像还需要与其他图像发生拼接,则需要以变形后的所述第二图像为变形基准,以便多个图像的变形准则保持一致,此时,可以将所述数据库中的所述第二图像替换存储为变形后的所述第二图像,以便于查找到的所述第二图像为变形后的;同时,由于预设的选择规则可能是根据时间顺序来进行选择,因此需要保留所述第二图像的初始拍摄时间信息,以便于选择拼接图像。

步骤S307、当检测到所述第二图像与其他图像的进行拼接时,将变形后的所述第二图像设定为变形基准。当所述第二图像还需要与其他图像发生拼接时,需要以变形后的所述第二图像为变形基准,以便多个图像的变形准则保持一致。

在一个实施例中,如图5所示,所述步骤S30还可包括:

步骤S308、对拼接后的所述第一图像及所述第二图像进行渲染或/和模糊或/和图层混合的细节处理。也即,由于步骤S301-步骤S305中进行的是图像的整体匹配拼接,所以还会出现细节的不匹配情况,因此,在不影响观看效果的前提下,同时也为了能够实现快速处理,可以对匹配拼接后的图像进行渲染 或/和模糊或/和图层混合的细节处理,从而达到细节匹配的效果,使得拼接后的全景图像的效果更适合人眼观看。

本发明实施例提供的上述方法,首先获取用于全景拼接的多个图像并将其存储至数据库;在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。该方案将待拼接的第二图像进行变形处理后,再将所述第二图像与设定为变形基准的第一图像进行匹配拼接,提升了拼接速度,提高了图像匹配的质量及其视觉效果。

对应本发明实施例提供的全景图像拼接的方法,本发明还提供全景图像拼接的装置,如图6所示,该装置可包括:

获取模块61,用于获取用于全景拼接的多个图像并将其存储至数据库;

选择模块62,用于在多个所述图像中,按照预设的选择规则选择第一图像及第二图像,并检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

拼接模块63,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,对所述第二图像进行变形处理后,将所述第二图像与所述第一图像进行拼接。

在一个实施例中,如图7所示,所述选择模块62包括:

选择子模块621,用于在多个所述图像中,选择拍摄的时间顺序相邻/拥有重叠区域的第一图像及第二图像;

检测子模块622,用于检测所述第一图像与所述第二图像的重叠区域是否达到预设阈值;

第一基准设定子模块623,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,将所述第一图像设定为变形基准。

在一个实施例中,如图8所示,所述拼接模块63包括:

角点检测子模块631,用于在所述第一图像与所述第二图像的重叠区域达到预设阈值时,利用Harris角点检测算法对所述第一图像及所述第二图像的重叠区域进行角点检测;

角点提纯子模块632,用于根据所述角点检测的结果,利用RANSAC算法对所述第一图像角点与所述第二图像角点进行提纯;

角点匹配子模块633,用于将提纯的所述第一图像角点与所述第二图像角点进行匹配;

变形处理子模块634,用于根据FindHomography输出的透视变换矩阵对所述第二图像进行变形处理;

拼接子模块635,用于将变形后的所述第二图像与所述第一图像的重叠区域进行重叠拼接。

在一个实施例中,如图9所示,所述拼接模块63还包括:

存储子模块636,用于将所述数据库中的所述第二图像替换存储为变形后的所述第二图像,并保存所述第二图像的初始的拍摄时间信息;

第二基准设定子模块637,用于当检测到所述第二图像与其他图像的进行拼接时,将变形后的所述第二图像设定为变形基准。

在一个实施例中,如图10所示,所述拼接模块63还包括:

细节处理子模块638,用于对拼接后的所述第一图像及所述第二图像进行渲染或/和模糊或/和图层混合的细节处理。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产 品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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