本发明涉及图像处理技术领域,尤其涉及一种图像拼接方法、装置及终端。
背景技术:
随着社会的发展进步,以及硬件成本降低,监控摄像机越来越成为家庭中使用非常广泛的监控前端设备之一。在使用时,将监控摄像机安装在某一位置后即可以实现定点的监控。由于摄像机自身的视场角的限制,普通摄像机监控的范围是有限的。普通的一体化摄像机的最大可视角度在60度左右,这样的话,监控覆盖面积就会很小。当摄像机固定观察某一区域时,其它区域可能无法同时兼顾,从而出现盲区。针对视频监控的安全死角这一难题,目前已经认识到传统摄像机的不足,并希望能获取360度全景的视频信息。为解决这一问题,最简单的是就在监控场所内加装更多的摄像机,但这也显然的极大增加了监控成本。另外,也可以采用广角甚至超大广角的鱼眼摄像机,该类摄像机的视场大,可以监控较大范围的场景。但是,随着监控范围的增大,就无法保证摄录图像细节的清晰度,一些小的东西很可能无法看清。而且鱼眼相机的图像畸变(imagedistortion)很大,会导致图像扭曲变形。
为了解决视场角与清晰度的矛盾问题,有两种方案应运而生,即多镜头拼接方案和云台摄像机配合广角镜头的方案。其中,多摄像机拼接方案包括:采用多个定点摄像机,分别朝向不同的方向,通过其拍摄方向的几何关系以及计算图像的边界连接情况,将多个摄像机拍摄的图像拼接成一副完整的全景图像。这样拼接出的图像,比鱼眼镜头拍摄的清晰度要高。而云台摄像机配合广角摄像头的解决方案,由于其硬件设备成本较低,控制方便等优点受到了广大厂商的应用。
但是,现有技术中针对多摄像机和云台摄像机的全景拼接算法复杂度高,计算量大。
技术实现要素:
本发明解决的技术问题是如何实现图像拼接的便捷性和准确性。
为解决上述技术问题,本发明实施例提供一种图像拼接方法,所述图像拼接方法包括:获取待拼接的第一原始图像和第二原始图像,所述第一原始图像和所述第二原始图像为拍摄全景图得到的相邻两幅图像;分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块;以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个;根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置;基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
可选的,所述以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值包括:以所述像素块为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的块像素差值的均值,以作为所述像素差值,所述块像素差值是指像素块中所有像素值的均值。
可选的,所述第一原始图像和所述第二原始图像的搜索部分大小一致,采用以下公式计算所述块像素差值的均值:
其中,vb为所述块像素差值的均值,m为所述搜索部分的像素块的行数,n为所述搜索部分的像素块的列数,lij为所述第一原始图像在第i行第j列所处的像素块中所有像素值的均值,rij为所述第二原始图像在第i行第j列所处的像素块中所有像素值的均值,n为以像素块计的移位列数。
可选的,所述根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置包括:当所述块像素差值的均值最小时,将所述第一原始图像和第二原始图像的相对位置作为所述块匹配最佳位置。
可选的,所述基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接包括:在所述块匹配最佳位置,以像素为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位时重叠的所有像素的像素值的差值;当所述像素值的差值最小时,将所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置;根据所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
可选的,采用以下公式计算所述像素值的差值:
其中,vp为所述像素值的差值;h为在所述块匹配最佳位置处,重叠的所有像素的行数,l为在所述块匹配最佳位置处,重叠的所有像素的列数,lxy为所述第一原始图像在第x行第y列所处的像素的像素值,rxy为所述第二原始图像在第x行第y列所处的像素的像素值。
可选的,所述获取待拼接的第一原始图像和第二原始图像之后还包括:将所述第一原始图像和第二原始图像转换为hsv格式的图像,所述像素差值为色调差值。
可选的,所述获取待拼接的第一原始图像和第二原始图像之后还包括:对于所述第一原始图像和所述第二原始图像的所有像素,计算所述所有像素的色调值差值,以及梯度值差值;计算所述所有像素的色调值差值和梯度值差值的和值,并选取最小和值对应的像素作为接缝位置。
可选的,所述基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接包括:根据所述接缝位置,在所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
可选的,所述根据所述接缝位置,在所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接包括:在所述接缝位置与所述像素匹配最佳位置之间的区域,分别选取所述第一原始图像和所述第二原始图像对应的像素进行拼接;在所述接缝位置处,采用线性融合对所述第一原始图像和所述第二原始图像对应的像素进行拼接,以完成所述第一原始图像和所述第二原始图像的拼接。
可选的,所述基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接之前还包括:将所述第一原始图像和所述第二原始图像的格式转换为ycrcb图像;采样计算格式转换后的所述第一原始图像和所述第二原始图像在所述接缝位置处的亮度值均值;利用所述亮度值均值计算所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的多个曝光系数;利用所述多个曝光系数对所述第一原始图像和所述第二原始图像进行曝光补偿,以使得所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的亮度均衡变化。
可选的,所述对于所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处重叠的所有像素,计算所述所有像素的色调值差值,以及梯度值差值之前还包括:对所述第一原始图像和所述第二原始图像进行降采样操作。
可选的,所述获取待拼接的第一原始图像和第二原始图像之后还包括:对所述第一原始图像和所述第二原始图像进行圆柱投影,以得到投影后的所述第一原始图像和所述第二原始图像。
可选的,所述对所述第一原始图像和所述第二原始图像进行圆柱投影包括:基于预先获取的所述第一原始图像和所述第二原始图像的拍摄角度,对所述第一原始图像和所述第二原始图进行圆柱投影。
为解决上述技术问题,本发明实施例还公开了一种图像拼接装置,图像拼接装置包括:
获取模块,适于获取待拼接的第一原始图像和第二原始图像,所述第一原始图像和所述第二原始图像为拍摄全景图得到的相邻两幅图像;搜索部分选取模块,适于分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块;像素差值计算模块,适于以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个;块匹配最佳位置确定模块,适于根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置;拼接模块,适于基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
为解决上述技术问题,本发明实施例还公开了一种终端,所述终端包括所述图像拼接装置。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案获取待拼接的第一原始图像和第二原始图像,所述第一原始图像和所述第二原始图像为拍摄全景图得到的相邻两幅图像;分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块;以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个;根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置;基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。本发明技术方案在对图像进行拼接时,通过选取搜索部分并划分像素块,然后基于像素块对所述第一原始图像和所述第二原始图像进行移位并计算像素差值,确定块匹配最佳位置,在块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。通过划分像素块方式,可以更加快速地确定用于拼接的块匹配最佳位置,相对于现有技术中直接进行像素级别的拼接位置查找,有利于减小计算量和复杂度。
进一步,所述基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接包括:在所述块匹配最佳位置,以像素为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位时重叠的所有像素的像素值的差值;当所述像素值的差值最小时,将所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置;根据所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。本发明技术方案在确定块匹配最佳位置后,再以块匹配最佳位置为基准,进行像素级别的移位和计算,确定用于拼接的像素匹配最佳位置,从而进一步提高了匹配位置的准确性;相对于现有技术中直接进行像素级别的拼接位置查找,在准确性基本相同的情况下,计算量和复杂度更低。
附图说明
图1是本发明实施例一种图像拼接方法的流程图;
图2是本发明实施例中待拼接的两幅原始图像的示意图;
图3是本发明实施例中两幅原始图像处于块匹配最佳位置时的示意图;
图4是本发明实施例中两幅原始图像处于像素匹配最佳位置时的示意图;
图5是本发明实施例另一种图像拼接方法的流程图;
图6是本发明实施例一种图像拼接装置的结构示意图;
图7是本发明实施例另一种图像拼接装置的结构示意图。
具体实施方式
如背景技术中所述,现有技术中针对多摄像机和云台摄像机的全景拼接算法复杂度高,计算量大。
本发明技术方案在对图像进行拼接时,通过选取搜索部分并划分像素块,然后基于像素块对所述第一原始图像和所述第二原始图像进行移位并计算像素差值,确定块匹配最佳位置,在块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。通过划分像素块方式,可以在确定块匹配最佳位置时,保证匹配位置的准确性,同时减小计算量和复杂度。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种图像拼接方法的流程图。
图1所示的图像拼接方法可以包括以下步骤:
步骤s101:获取待拼接的第一原始图像和第二原始图像,所述第一原始图像和所述第二原始图像为拍摄全景图得到的相邻两幅图像;
步骤s102:分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块;
步骤s103:以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个;
步骤s104:根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置;
步骤s105:基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
具体实施中,在步骤s101中,获取得到的第一原始图像和第二原始图像可以是拍摄全景图得到的相邻两幅图像。具体而言,第一原始图像和第二原始图像包含的被拍摄对象存在相同的部分,基于相同的部分能够完成对第一原始图像和第二原始图像的拼接。
在实际的应用场景中,第一原始图像和第二原始图像可以是云台摄像机拍摄得到的;也可以是多镜头摄像机拍摄得到的。
具体实施中,为了确定第一原始图像和第二原始图像的拼接位置,需要先确定搜索部分。在步骤s102中,分别选取第一原始图像和第二原始图像中相邻的至少一部分作为搜索部分。通常选取第一原始图像和第二原始图像中靠近拼接位置的部分(例如第一原始图像的右侧部分和第二原始图像的左侧部分)作为搜索部分。更具体而言,第一原始图像的搜索部分的大小和第二原始图像的搜索部分的大小可以相同,也可以不相同。在搜索部分可以通过计算进一步确定拼接位置。其中,第一原始图像和第二原始图像在拼接位置进行拼接。具体地,第一原始图像的搜索部分可以选取第一原始图像60%的部分,第二原始图像的搜索部分可以选取第二原始图像60%的部分。
现有技术通常是直接基于像素来查找拼接位置,计算量大,而在步骤s102中,将所述搜索部分划分为多个像素块,由此可以基于像素块来查找拼接位置,有利于减小计算量。具体而言,每个像素块的形状、大小一致;每个像素块的形状、大小可以根据实际的应用场景进行配置,本实施例对此不做限制。具体地,搜索部分可以是第一原始图像和第二原始图像中的矩形区域,像素块可以是矩形块。
请参照图2,图2是本发明实施例待拼接的两幅原始图像的示意图。本实施例中,第一原始图像a和第二原始图像b的搜索部分大小相同。其中,第一原始图像a中的网格部分表示第一原始图像a的搜索部分,该搜索部分被划分为m×n个像素块c;类似地,第二原始图像b中的网格部分表示第二原始图像b的搜索部分,该搜索部分被划分为m×n个像素块c。像素块c可以包括m×n个像素。其中,m、n、m、n都为正整数。
具体实施中,在步骤s103中,对第一原始图像和第二原始图像在像素块级别查找拼接位置;以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分。具体而言,在搜索部分,以所述像素块为步幅移动第一原始图像或第二原始图像,每次移动后,第一原始图像和第二原始图像重叠的像素块就会多一列,之后可以计算重叠的所有像素块的像素差值。其中,像素差值可以表示第一原始图像和第二原始图像在重叠的像素块处的像素差异,像素差异越小,表示第一原始图像和第二原始图像在重叠的像素块处进行拼接的效果越好。
以图2为例,以像素块c为步幅移动第一原始图像a,第一次移动完成后,第一原始图像a和第二原始图像b重叠的像素块为一列像素块;第二次移动完成后,第一原始图像a和第二原始图像b重叠的像素块为两列像素块;依此类推,完成n次移动后,第一原始图像a和第二原始图像b的搜索部分完全重叠,重叠的像素块为n列像素块。第一原始图像a移动了n次,可以得到n个像素差值。
具体实施中,在步骤s104中,根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置。具体而言,可以选取像素差值最小时重叠的所有像素块作为块匹配最佳位置。
具体实施中,在步骤s105中,基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。具体而言,在确定块匹配最佳位置后,可以在块匹配最佳位置的两侧分别选取第一原始图像和第二原始图像进行拼接。
本领域技术人员应当理解的是,如果是进行全景图的拼接,则需要获取横向360度范围内的多张原始图像;对于相邻的每两幅原始图像,可以作为第一原始图像和第二原始图像,按照图1所示的步骤进行拼接,以完成全景图的拼接。
本发明实施例在对图像进行拼接时,通过划分像素块方式,可以在确定块匹配最佳位置时,保证匹配位置的准确性,同时减小计算量和复杂度。
优选地,步骤s103可以包括以下步骤:以所述像素块为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的块像素差值的均值,以作为所述像素差值,所述块像素差值是指像素块中所有像素值的均值。具体而言,在计算像素差值时采用的是块像素差值的方式;也就是说,先计算像素块中所有像素值的均值作为块像素差值,再计算重叠的所有像素块的块像素差值的均值作为像素差值。通过采用像素块中所有像素值的均值作为块像素差值,相较于现有技术中计算所有像素的差值,计算量进一步减小。
进一步地,所述第一原始图像和所述第二原始图像的搜索部分大小一致时,可以采用以下公式计算所述块像素差值的均值:
其中,vb为所述块像素差值的均值,m为所述搜索部分的像素块的行数,n为所述搜索部分的像素块的列数,lij为所述第一原始图像在第i行第j列所处的像素块中所有像素值的均值,rij为所述第二原始图像在第i行第j列所处的像素块中所有像素值的均值,n为以像素块计的移位列数。
进一步地,步骤s104可以包括以下步骤:当所述块像素差值的均值最小时,将所述第一原始图像和第二原始图像的相对位置作为所述块匹配最佳位置。具体而言,完成n次移动后,第一原始图像和第二原始图像的搜索部分完全重叠,此时可以得到n个块像素差值的均值vb,则可以选取块像素差值的均值vb的最小值,该最小值对应的第一原始图像和第二原始图像的相对位置为块匹配最佳位置。
具体可参照图3,作为一个非限制性的例子,块像素差值的均值vb的最小值对应的移位列数n为3,此时,第一原始图像a和第二原始图像b重叠3列像素块(如图3中阴影部分所示),此时第一原始图像a和第二原始图像b的相对位置为块匹配最佳位置。
可以理解的是,块像素差值的均值vb最小时,第一原始图像a和第二原始图像b移位完成后所处的位置,即为第一原始图像a和第二原始图像b的相对位置。例如,块匹配最佳位置为第一原始图像a相向移动3列像素块之后,第一原始图像a和第二原始图像b所处的相对位置。块匹配最佳位置可以采用任意可实施的方式来表示,本发明实施例对此不做限制。
优选地,步骤s104可以包括以下步骤:在所述块匹配最佳位置,以像素为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位时重叠的所有像素的像素值的差值;当所述像素值的差值最小时,将所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置;根据所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
具体实施中,在确定了块匹配最佳位置后,以第一原始图像和第二原始图像在块匹配最佳位置重叠的像素块为搜索区域,进行像素级别的移位和计算,每次计算的是第一原始图像和第二原始图像重叠的所有像素的像素值的差值。
继续参照图3,像素块c包括m×n个像素,则搜索区域包括6m×3n个像素。以像素为步幅,在行方向上对第一原始图像a向所述第二原始图像b进行相向移位,第一次移位完成后,第一原始图像a和第二原始图像b重叠一列像素;第二次移位完成后,第一原始图像a和第二原始图像b重叠两列像素;以此类推,第3n次移位完成后,第一原始图像a和第二原始图像b在搜索区域完全重合。至此,可以得到3n个像素值的差值;选取像素值的差值最小时,所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置。
进一步地,可以采用以下公式计算所述像素值的差值:
其中,vp为所述像素值的差值;h为在所述块匹配最佳位置处,重叠的所有像素的行数,l为在所述块匹配最佳位置处,重叠的所有像素的列数,lxy为所述第一原始图像在第i行第j列所处的像素的像素值,rxy为所述第二原始图像在第i行第j列所处的像素的像素值。
请参照图4,图4是本发明实施例一种像素匹配最佳位置的示意图。像素值的差值vp最小时,重叠的所有像素的列数为m/3(其中,m为3的正整数倍),此时,第一原始图像a和第二原始图像b重叠m/3列像素(如图4中阴影部分所示),此时第一原始图像a和第二原始图像b的相对位置为像素匹配最佳位置。
本发明实施例在确定块匹配最佳位置后,在块匹配最佳位置,进行像素级别的移位和计算,确定像素匹配最佳位置,从而进一步保证了匹配位置的准确性;相对于现有技术中直接进行像素级别的拼接位置查找,计算量和复杂度更低。
优选地,在步骤s101之后可以包括以下步骤:对所述第一原始图像和所述第二原始图像进行圆柱投影,以得到投影后的所述第一原始图像和所述第二原始图像。具体而言,根据云台摄像机拍摄图像的特性,云台机图像采集图像时按照水平方向旋转,而圆柱投影有有限的上下旋转自由度,也就是水平方向可以拼接成为环状图像。采用圆柱投影的方式,可以保证更拼接的准确性。
进一步地,可以基于预先获取的所述第一原始图像和所述第二原始图像的拍摄角度,对所述第一原始图像和所述第二原始图像进行圆柱投影。具体而言,云台摄像机可以获知拍摄图像时的摄像机仰角,也即第一原始图像和所述第二原始图像的拍摄角度。将此已知的拍摄角度输入,可以不必分别计算相机外部旋转矩阵和投影矩阵,根据第一原始图像和所述第二原始图像的拍摄角度选取固定的变换矩阵可以对进行投影变换,从而可以大大减少运算时间。更具体地,经过变换后的第一原始图像和所述第二原始图像中的物体垂直于地面,以便于后续的水平移动拼接。
图5是本发明实施例另一种图像拼接方法的流程图。
如图5所示,在步骤s501中,获取待拼接的第一原始图像和第二原始图像。步骤s501的具体实施方式可参照图1所示步骤s101中相关描述,此处不再赘述。
在步骤s502中,将所述第一原始图像和第二原始图像转换为hsv格式的图像。其中,hsv格式中的h、s和v分别表示色调(hue)、饱和度(saturation)和明度(value)。具体而言,第一原始图像和第二原始图像通常为rgb图像,则在计算像素差值时,需要分别计算第一原始图像和第二原始图像在r通道、g通道和b通道上的差值,计算量大。而本申请发明人发现,对于获取到的原始图像,其饱和度和明度差异不大,色调的差异比较大。因此,可以将rgb图像转换为hsv图像,以便在后续步骤计算像素差值时,可以仅计算色调差值,进一步减小图像拼接时的计算量。
可选地,也可以将所述第一原始图像和第二原始图像转换为yuv格式的图像,也即ycrcb格式的图像。其中,“y”表示明亮度(luminance或luma),“u”和“v”表示的则是色度(chrominance或chroma)。则在后续步骤计算像素差值时,可以仅计算色度差值,进一步减小图像拼接时的计算量。
在步骤s503中,分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块。
在步骤s504中,以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个。
在步骤s505中,根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置。
在步骤s506中,在所述块匹配最佳位置,以像素为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位时重叠的所有像素的像素值的差值。
在步骤s507中,当所述像素值的差值最小时,将所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置。
本实施例中,步骤s503至步骤s507的具体实施方式可参照图1所示实施例的相关描述,此处不再赘述。
在步骤s508中,对于所述第一原始图像和所述第二原始图像的所有像素,计算所述所有像素的色调值差值,以及梯度值差值。在步骤s509中,计算所述所有像素的色调值差值和梯度值差值的和值,并选取最小和值对应的像素作为接缝位置。
具体而言,在确定像素匹配最佳位置后,可以确定第一原始图像和第二原始图像各自拼接的区域;由于云台摄像机采集到的图像中物体远近不同,根据视差(cameradisparity)原理,距离摄像机远的物体较小,近的物体较大,因此当第一原始图像和第二原始图像中包括同一个远和近的物体时,直接采用像素匹配最佳位置进行拼接会产生重影,因此还需要进一步确定拼接的接缝位置。故在转换为hsv图像后,可以利用第一原始图像和第二原始图像的所有像素在色调值和梯度值上的差异,确定第一原始图像和第二原始图像进行拼接的接缝位置。
可以理解的是,接缝位置的至少一部分位于第一原始图像和第二原始图像在像素匹配最佳位置的像素重叠部分。
进一步地,可以采用以下公式计算所述和值:
其中,vs为色调值差值和梯度值差值的和值;h为第一原始图像和第二原始图像像素行数,l为第一原始图像和第二原始图像的像素列数,lhxy为所述第一原始图像在第x行第y列所处的像素的色调值,rhxy为所述第二原始图像在第x行第y列所处的像素的色调值,lgxy为所述第一原始图像在第x行第y列所处的像素的梯度值,rgxy为所述第二原始图像在第x行第y列所处的像素的梯度值。
优选地,在步骤s508之前还可以包括:对所述第一原始图像和所述第二原始图像进行降采样操作。具体而言,通过降采样操作,可以对第一原始图像和所述第二原始图像进行缩小,从而在后续计算像素级别的色调差值和梯度差值时,可以降低运算量,提高运算速度。例如,第一原始图像和所述第二原始图像尺寸为1280×960像素,经过降采样操作后图像尺寸为640×480像素。
在步骤s510中,根据所述接缝位置,在所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
进一步地,步骤s510可以包括以下步骤:在所述接缝位置与所述像素匹配最佳位置之间的区域,分别选取所述第一原始图像和所述第二原始图像对应的像素进行拼接;在所述接缝位置处,采用线性融合对所述第一原始图像和所述第二原始图像对应的像素进行拼接,以完成所述第一原始图像和所述第二原始图像的拼接。也就是说,第一原始图像和第二原始图像在像素匹配最佳位置直接拼接的话,可能会产生重影,为了提高拼接的效果,以接缝位置为边界,在接缝位置两边,分别选取所述第一原始图像和所述第二原始图像对应的像素进行拼接。此外,接缝位置通常包括多个像素,对于接缝位置处的多个像素,则可以采用线性融合的方式进行拼接。
本领域技术人员应当理解的是,线性融合可以采用任意可实施的方式来实现,本实施例对此不做限制。
由于在拍摄时存在光照不同,导致第一原始图像和第二原始图像亮度不均衡,因此在进行拼接之前需要进行曝光补偿(exposurecompensation),以使得拼接后的第一原始图像和第二原始图像在拼接位置的亮度过渡更自然,改善拼接效果。
优选地,在步骤s510之前还可以包括以下步骤:将所述第一原始图像和所述第二原始图像的格式转换为ycrcb图像;采样计算格式转换后的所述第一原始图像和所述第二原始图像在所述接缝位置处的亮度值均值;利用所述亮度值均值计算所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的多个曝光系数;利用所述多个曝光系数对所述第一原始图像和所述第二原始图像进行曝光补偿,以使得所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的亮度均衡变化。
具体实施中,首先将第一原始图像和所述第二原始图像转换为亮度图像,亮度图像可以是ycrcb图像,也可以是hsv图像。其次,为了减小计算量,采用采样计算的方式计算第一原始图像和所述第二原始图像在所述接缝位置处的亮度值均值。通过接缝位置处的亮度值均值以及第一原始图像和所述第二原始图像的亮度值,可以得到多个曝光系数,并使用多个曝光系数对第一原始图像和所述第二原始图像在像素匹配最佳位置重叠的像素进行曝光补偿。例如,第一原始图像和所述第二原始图像在所述接缝位置处的亮度值均值为75,第一原始图像的亮度值为50,第二原始图像的亮度值为100,在利用计算得到的曝光系数补偿后,可以使得第一原始图像在像素匹配最佳位置到接缝位置之间的亮度值从50逐渐增加过渡至75;类似地,第二原始图像在像素匹配最佳位置到接缝位置之间的亮度值从100逐渐降低过渡至75。
图6是本发明实施例一种图像拼接装置的结构示意图。
图6所示的图像拼接装置60可以包括:获取模块601、搜索部分选取模块602、像素差值计算模块603、块匹配最佳位置确定模块604和拼接模块605。
其中,获取模块601适于获取待拼接的第一原始图像和第二原始图像,所述第一原始图像和所述第二原始图像为拍摄全景图得到的相邻两幅图像。
搜索部分选取模块602适于分别选取所述第一原始图像和所述第二原始图像中相邻的至少一部分作为搜索部分,并将所述搜索部分划分为多个像素块。
像素差值计算模块603适于以所述像素块为步幅对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的像素差值,直至遍历完成最大搜索部分,所述最大搜索部分为所述第一原始图像的搜索部分和所述第二原始图像的搜索部分中面积较大的一个。
块匹配最佳位置确定模块604适于根据所述像素差值选取所述第一原始图像和所述第二原始图像的块匹配最佳位置。
拼接模块605适于基于所述块匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
本实施例通过划分像素块方式,可以在确定块匹配最佳位置时,保证匹配位置的准确性,同时减小计算量和复杂度。
优选地,所述像素差值计算模块603以所述像素块为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位后重叠的所有像素块的块像素差值的均值,以作为所述像素差值,所述块像素差值是指像素块中所有像素值的均值。
进一步地,所述第一原始图像和所述第二原始图像的搜索部分大小一致,所述像素差值计算模块603可以采用以下公式计算所述块像素差值的均值:
其中,vb为所述块像素差值的均值,m为所述搜索部分的像素块的行数,n为所述搜索部分的像素块的列数,lij为所述第一原始图像在第i行第j列所处的像素块中所有像素值的均值,rij为所述第二原始图像在第i行第j列所处的像素块中所有像素值的均值,n为以像素块计的移位列数。
优选地,块匹配最佳位置确定模块604在所述块像素差值的均值最小时,将所述第一原始图像和第二原始图像的相对位置作为所述块匹配最佳位置。
本发明实施例在确定块匹配最佳位置后,在块匹配最佳位置,进行像素级别的移位和计算,确定像素匹配最佳位置,从而进一步保证了匹配位置的准确性;相对于现有技术中直接进行像素级别的拼接位置查找,计算量和复杂度更低。
关于所述图像拼接装置60的工作原理、工作方式的更多内容,可以参照图1至图5中的相关描述,这里不再赘述。
图7是本发明实施例另一种图像拼接装置的结构示意图。
图7所示的图像拼接装置70可以包括:获取模块701、搜索部分选取模块702、像素差值计算模块703、块匹配最佳位置确定模块704和拼接模块705。
拼接模块705可以包括像素移位计算单元7051、像素匹配最佳位置确定单元7052和第一拼接单元7053。
其中,像素移位计算单元7051适于在所述块匹配最佳位置,以像素为步幅,在行方向上对所述第一原始图像和所述第二原始图像进行相向移位,并计算每次移位时重叠的所有像素的像素值的差值;像素匹配最佳位置确定单元7052适于在所述像素值的差值最小时,将所述第一原始图像和第二原始图像的相对位置作为像素匹配最佳位置;第一拼接单元7053适于根据所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
进一步地,所述像素移位计算单元7051可以采用以下公式计算所述像素值的差值:
其中,vp为所述像素值的差值;h为在所述块匹配最佳位置处,重叠的所有像素的行数,l为在所述块匹配最佳位置处,重叠的所有像素的列数,lxy为所述第一原始图像在第x行第y列所处的像素的像素值,rxy为所述第二原始图像在第x行第y列所处的像素的像素值。
优选地,图7所示的图像拼接装置70还可以包括第一图像转换模块706。第一图像转换模块706适于将所述第一原始图像和第二原始图像转换为hsv格式的图像,所述像素差值为色调差值。
优选地,图7所示的图像拼接装置70还可以包括计算模块707和接缝位置确定模块708。计算模块707适于对于所述第一原始图像和所述第二原始图像的所有像素,计算所述所有像素的色调值差值,以及梯度值差值;接缝位置确定模块708适于计算所述所有像素的色调值差值和梯度值差值的和值,并选取最小和值对应的像素作为接缝位置。
进一步地,拼接模块705可以包括第二拼接单元7054。第二拼接单元7054适于根据所述接缝位置,在所述像素匹配最佳位置对所述第一原始图像和所述第二原始图像进行拼接。
进一步地,第二拼接单元7054可以包括第一拼接子单元70541和第二拼接子单元70542。第一拼接子单元70541适于在所述接缝位置与所述像素匹配最佳位置之间的区域,分别选取所述第一原始图像和所述第二原始图像对应的像素进行拼接;第二拼接子单元70542,适于在所述接缝位置处,采用线性融合对所述第一原始图像和所述第二原始图像对应的像素进行拼接,以完成所述第一原始图像和所述第二原始图像的拼接。
优选地,图7所示的图像拼接装置70还可以包括第二图像转换模块709、亮度计算模块710、曝光系数计算模块711和曝光补偿模块712。第二图像转换模块709适于将所述第一原始图像和所述第二原始图像的格式转换为ycrcb图像;亮度计算模块710,适于采样计算格式转换后的所述第一原始图像和所述第二原始图像在所述接缝位置处的亮度值均值;曝光系数计算模块711,适于利用所述亮度值均值计算所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的多个曝光系数;曝光补偿模块712,适于利用所述多个曝光系数对所述第一原始图像和所述第二原始图像进行曝光补偿,以使得所述第一原始图像和所述第二原始图像在所述像素匹配最佳位置处的亮度均衡变化。
优选地,图7所示的图像拼接装置70还可以包括降采样模块713,降采样模块713适于对所述第一原始图像和所述第二原始图像进行降采样操作。
优选地,图7所示的图像拼接装置70还可以包括投影转换模块714,投影转换模块714适于对所述第一原始图像和所述第二原始图像进行圆柱投影,以得到投影后的所述第一原始图像和所述第二原始图像。
进一步地,投影转换模块714可以基于预先获取的所述第一原始图像和所述第二原始图像的拍摄角度,对所述第一原始图像和所述第二原始图进行圆柱投影。
关于所述图像拼接装置70的工作原理、工作方式的更多内容,可以参照图1至图6中的相关描述,这里不再赘述。
本发明实施例还公开了一种终端,所述终端包括图6所示的图像拼接装置60或图7所示的图像拼接装置70。图像拼接装置60或图像拼接装置70可以内部集成于或外部耦接于所述终端,以使得所述终端可以执行图1或图5所示步骤。具体而言,所述终端包括但不限于手机、平板电脑、计算机等设备。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于以计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。