图像拼接方法、装置、计算机设备及存储介质与流程

文档序号:33518665发布日期:2023-03-22 06:17阅读:40来源:国知局
图像拼接方法、装置、计算机设备及存储介质与流程

1.本技术涉及图像处理技术领域,特别是涉及一种图像拼接方法、装置、计算机设备及存储介质。


背景技术:

2.随着计算机技术和多媒体技术的不断发展,对图像进行处理越来越受到人们的重视。目前,对多张图像进行拼接的图像拼接技术是常见的一种图像处理方式,图像拼接技术能够将原本不是相互连接的图像连接到一起。
3.传统技术中,一般是通过面阵相机对目标对象进行图像采集,再利用面阵相机的拼接算法进行图像拼接。但是,通过这种图像拼接方式所得到的拼接图像比较粗糙,从而影响图像拼接的准确性。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高图像拼接准确度的图像拼接方法、装置、计算机设备、存储介质和计算机程序产品。
5.第一方面,本技术提供了一种图像拼接方法。该方法包括:获取通过图像采集设备针对目标对象采集的第一图像和第二图像;对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到偏移量集合;基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像;目标拼接图像完整显示目标对象。
6.第二方面,本技术还提供了一种图像拼接装置。该装置包括:获取模块,用于获取通过图像采集设备针对目标对象采集的第一图像和第二图像;匹配模块,用于对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算模块,用于计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到偏移量集合;对齐模块,用于基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;
拼接模块,用于将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像;目标拼接图像完整显示目标对象。
7.在一些实施例中,计算模块还用于针对每个第二特征点和相匹配的第一特征点,获取第二特征点在第二图像中的第二像素坐标,并获取相匹配的第一特征点在第一图像中的第一像素坐标;计算第一像素坐标和第二像素坐标的差值,得到第二特征点对应的像素坐标偏移量;根据各第二特征点分别对应的像素坐标偏移量,得到偏移量集合。
8.在一些实施例中,对齐模块还用于遍历第一特征点集,针对每个遍历至的第一特征点,获取在第一特征点的预设范围内的多个参考特征点,并确定多个参考特征点的坐标均值;若遍历至的第一特征点的坐标与坐标均值的差值大于或等于预设坐标差值,则从第一特征点集中删除第一特征点,并从偏移量集合中删除根据第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合;基于更新后的第一特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
9.在一些实施例中,对齐模块还用于从第一图像中确定待插值的第一目标像素行;待插值的第一目标像素行中没有更新后的第一特征点集中的第一特征点;对第一目标像素行对应的纵坐标进行线性插值,以确定待插入第一目标像素行的特征点,得到新增的第一特征点;将新增的第一特征点加入更新后的第一特征点集,得到全局特征点集;根据全局特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
10.在一些实施例中,对齐模块还用于对更新后的偏移量集合进行多项式拟合得到拟合公式,并根据拟合公式预测全局特征点集中新增的第一特征点的像素坐标偏移量;将预测的像素坐标偏移量加入更新后的偏移量集合,得到全局的像素坐标偏移量集合;根据全局特征点集和全局的像素坐标偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
11.在一些实施例中,对齐模块还用于针对第一图像中的每个像素行,确定全局特征点集在像素行上的第一特征点,得到目标特征点;从全局的像素坐标偏移量集合中确定根据目标特征点计算得到的像素坐标偏移量,得到目标像素坐标偏移量;根据目标像素坐标偏移量,在第二图像中定位与目标特征点所在像素行相匹配的第二目标像素行;分别将第二图像中的各第二目标像素行对齐至第一图像中与第二目标像素行相匹配的像素行,得到对齐后的第二图像。
12.在一些实施例中,拼接模块还用于确定第一图像和对齐后的第二图像的重叠区域;从重叠区域中确定拼接线,以根据拼接线将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像。
13.第三方面,本技术还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述图像拼接方法中的步骤。
14.第四方面,本技术还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述图像拼接方法中的步骤。
15.第五方面,本技术还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述图像拼接方法中的步骤。
16.上述图像拼接方法、装置、计算机设备、存储介质和计算机程序产品,通过获取通过图像采集设备针对目标对象采集的第一图像和第二图像;对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到用于进行像素行对齐的偏移量集合。将第一图像和第二图像的像素行为对齐单位进行图像对齐,即,基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;将第一图像和对齐后的第二图像进行拼接,得到完整显示目标对象的目标拼接图像。也就是说,本技术通过计算各第一特征点和各第二特征点的像素坐标偏移量的方式,就能够明确得知相匹配的特征点之间的偏移情况,并采用将像素行一一对齐的方式,能够保证第二图像中的像素行都能对齐到第一图像相匹配的像素行,进而提高图像拼接的准确度。
附图说明
17.图1为一些实施例中图像拼接方法的流程示意图;图2为另一些实施例中图像拼接方法的流程示意图;图3为一些实施例中图像拼接装置的结构框图;图4为一些实施例中计算机设备的内部结构图;图5为另一些实施例中计算机设备的内部结构图;图6为一些实施例中计算机可读存储介质的内部结构图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
19.在一些实施例中,如图1所示,提供了一种图像拼接方法,本实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该计算机设备可以是服务器或终端,该方法可以由服务器或终端单独实现,也可以通过服务器和终端之间的交互来实现。本实施例中,该方法包括但不限于包括以下步骤:步骤102,获取通过图像采集设备针对目标对象采集的第一图像和第二图像。
20.其中,图像采集设备指的是具备拍照功能的设备,可以但不限于是各种相机和移动设备。
21.在一些实施例中,图像采集设备可以是双目线阵相机。其中,双目线阵相机通常由两个线阵相机构成,线阵相机指的是采用线阵图像传感器的相机。线阵相机通常用于检测结构排布均匀的材料,例如金属、塑料、纸和纤维等,被线阵相机检测的物体通常匀速运动,利用一台或多台线阵相机对检测的物体进行逐行连续扫描,以达到对其整个表面均匀检测。此外,还可以对拍摄到的图像进行逐行处理,或者对由多行组成的面阵图像进行处理。
22.目标对象,指的是需要借助线阵相机进行图像采集的对象。在一些实施例中,目标对象包括条形或筒形等较长的物体,例如道路、轨道或隧道中的至少一种。
23.具体地,在图像采集设备是双目线阵相机的情况下,可以将双目线阵相机固定在
可以匀速移动的移动设备上,使双目线阵相机中的两个线阵相机保持同一水平高度。在移动设备匀速移动的同时,两个线阵相机则可以分别针对目标对象进行逐行连续图像采集,每个线阵相机都可以采集得到一张由多个像素行组成的图像,这样,双目线阵相机则可以采集两张图像,记为第一图像和第二图像。可以理解,第一图像和第二图像中皆包括多个像素行。计算机设备则获取双目线阵相机针对目标对象采集的第一图像和第二图像。
24.需要说明的是,第一图像和第二图像是对目标对象中不同部位进行针对性采集得到的图像。
25.在一些实施例中,若目标对象为道路,则第一图像为双目线阵相机的其中一个线阵相机针对整条道路的其中一侧道路进行图像采集得到的道路图,比如,对道路的左侧部分采集得到的道路图,而第二图像为另一个线阵相机针对整条道路的另一侧道路进行图像采集得到的道路图,比如,对道路的右侧部分采集得到的道路图。
26.步骤104,对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集。
27.其中,第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点。
28.具体地,计算机设备在第一图像和第二图像中进行特征点检测,并基于检测到的特征点进行特征点匹配,以衡量在第一图像中检测到的特征点是否和第二图像中检测到的特征点匹配。若在第一图像中检测到的某个特征点和第二图像中检测到的某个特征点相同或者相似,则说明这两个特征点匹配成功,则可以分别将这两个特征点确定为第一特征点和第二特征点。计算机设备将所有的第一特征点确定为第一特征点集,并将所有的第二特征点确定为第二特征点集。
29.在一些实施例中,可以使用尺度不变特征变换算法(scale-invariant feature transform,sift)对第一图像和第二图像进行特征匹配,得到第一特征点集和第二特征点集。
30.步骤106,计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到偏移量集合。
31.其中,像素坐标偏移量,指的是某两个特征点的像素坐标之间的偏移距离。
32.具体地,将第一图像所在的像素坐标系确定为第一像素坐标系,将第二图像所在的像素坐标系确定为第二像素坐标系,其中第一像素坐标系的原点一般为第一图像的左上角。此外,还需要使第一像素坐标系的x轴和第二像素坐标系的x轴位于同一条直线,并且保证第一像素坐标系的y轴与第二像素坐标系的y轴平行。计算机设备确定每个第一特征点在第一像素坐标系中的像素坐标,以及每个第二特征点在第二像素坐标系中的像素坐标,并直接计算每个第二特征点的像素坐标相较于与每个第二特征点相匹配的第一特征点的像素坐标之间的偏移距离,也就是将第二特征点在第二像素坐标系中的像素坐标减去第一特征点在第一像素坐标系中的像素坐标,以得到各第二特征点分别相较于相匹配的第一特征点的像素坐标偏移量,所有的像素坐标偏移量可构成偏移量集合。
33.需要说明的是,计算各第二特征点相较于相匹配的第一特征点的偏移量集合的目的是以第一图像作为基准图像,使第二图像通过偏移量集合与第一图像进行对齐和拼接。可以理解,若以第二图像作为基准图像,则可以计算各第一特征点相较于相匹配的第二特
征点的偏移量集合,以使第一图像通过偏移量集合与第二图像进行对齐和拼接。
34.步骤108,基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像。
35.具体地,计算机设备根据偏移量集合,就能明确第二图像中各第二特征点相较于第一图像中与各第二特征点相匹配的第一特征点之间的偏移距离。根据各第二特征点与相匹配的第一特征点之间偏移距离的纵坐标,就可以得到第二图像中各第二特征点分别所在的像素行,相较于第一图像中与各第二特征点相匹配的第一特征点分别所在的像素行之间的偏移距离。进而根据第一图像和第二图像中相匹配的像素行之间的偏移距离,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像。
36.步骤110,将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像。
37.具体地,计算机设备根据确定好的拼接线,将第一图像和对齐后的第二图像按照拼接线进行拼接,得到拼接好的图像,即目标拼接图像,目标拼接图像完整显示目标对象。
38.上述图像拼接方法,通过获取通过图像采集设备针对目标对象采集的第一图像和第二图像;对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到用于进行像素行对齐的偏移量集合。将第一图像和第二图像的像素行为对齐单位进行图像对齐,即,基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;将第一图像和对齐后的第二图像进行拼接,得到完整显示目标对象的目标拼接图像。也就是说,本技术通过计算各第一特征点和各第二特征点的像素坐标偏移量的方式,就能够明确得知相匹配的特征点之间的偏移情况,并采用将像素行一一对齐的方式,能够保证第二图像中的像素行都能对齐到第一图像相匹配的像素行,进而提高图像拼接的准确度。
39.在一些实施例中,步骤106具体包括但不限于包括步骤:针对每个第二特征点和相匹配的第一特征点,获取第二特征点在第二图像中的第二像素坐标,并获取相匹配的第一特征点在第一图像中的第一像素坐标;计算第一像素坐标和第二像素坐标的差值,也就是将第二像素坐标减去第一像素坐标,以得到第二特征点对应的像素坐标偏移量;根据各第二特征点分别对应的像素坐标偏移量,得到偏移量集合。
40.其中,第一像素坐标指的是第一特征点在第一图像中的像素坐标,第二像素坐标指的是第二特征点在第二图像中的像素坐标。
41.在一些实施例中,像素坐标偏移量包括像素横坐标偏移量和像素纵坐标偏移量,像素横坐标偏移量指的是两个特征点的像素坐标中横坐标之间的偏移距离,像素纵坐标偏移量指的是某两个特征点的像素坐标中纵坐标之间的偏移距离。对应的,偏移量集合包括横坐标偏移量集合和纵坐标偏移量集合中的至少一个集合。
42.具体地,针对每个第二特征点以及与每个第二特征点相匹配的第一特征点,计算机设备获取第二特征点在第二图像中的第二像素坐标,并获取相匹配的第一特征点在第一图像中的第一像素坐标。计算机设备计算第一像素坐标和第二像素坐标的横坐标差值,得到第二特征点对应的像素横坐标偏移量,根据各第二特征点分别对应的像素横坐标偏移量,得到横坐标偏移量集合。计算机设备还可以计算第一像素坐标和第二像素坐标的纵坐
标差值,得到第二特征点对应的像素纵坐标偏移量,根据各第二特征点分别对应的像素纵坐标偏移量,得到纵坐标偏移量集合。通过计算每个第二特征点和相匹配的第一特征点之间的偏移量集合,能够明确知道每个第二特征点和相匹配的第一特征点之间的位置关系,以便于后续进行图像对齐。
43.在一些实施例中,步骤108具体包括但不限于包括步骤:遍历第一特征点集,针对每个遍历至的第一特征点,获取在第一特征点的预设范围内的多个参考特征点,并确定多个参考特征点的坐标均值;若遍历至的第一特征点的坐标与坐标均值的差值大于或等于预设坐标差值,则从第一特征点集中删除该第一特征点,并从偏移量集合中删除根据该第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合;基于更新后的第一特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
44.其中,预设坐标差值包括预设横坐标差值和预设纵坐标差值中的至少一种。
45.具体地,计算机设备遍历第一特征点集,针对每个遍历至的第一特征点,将第一特征点的预设范围内的多个特征点作为参考特征点,并计算多个参考特征点在第一图像中的像素坐标的平均值,得到多个参考特征点的坐标均值。若计算机设备遍历至的第一特征点的坐标与坐标均值的差值大于或等于预设坐标差值,则说明该第一特征点很有可能是不需要的离群点,此时需要从第一特征集中删除该第一特征点,并从偏移量集合中删除根据第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合。若计算机设备遍历至的第一特征点的坐标与坐标均值的差值小于预设坐标差值,则保留该第一特征点以及根据第一特征点计算得到的像素坐标偏移量。计算机设备基于更新后的第一特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。本技术通过更新第一特征点集和偏移量集合,能够删除掉匹配异常的特征点和对应的像素坐标偏移量,增加本方案的泛化性,并提高后续图像对齐和拼接的准确性。
46.在一些实施例中,若计算机设备遍历至的第一特征点的横坐标与横坐标均值的差值大于或等于预设横坐标差值,或者计算机设备遍历至的第一特征点的纵坐标与纵坐标均值的差值大于或等于预设纵坐标差值,则可以从第一特征集中删除该第一特征点,并从偏移量集合中删除根据第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合。
47.在一些实施例中,步骤“基于更新后的第一特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像”具体包括但不限于包括步骤:从第一图像中确定待插值的第一目标像素行;对第一目标像素行对应的纵坐标进行线性插值,以确定待插入第一目标像素行的特征点,得到新增的第一特征点;将新增的第一特征点加入更新后的第一特征点集,得到全局特征点集;根据全局特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
48.其中,待插值的第一目标像素行中没有更新后的第一特征点集中的第一特征点。线性插值,是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零,线性插值可以用来近似代替原函数,也可以用来计算得到查表过程中表中没有的数值。
49.具体地,计算机设备从第一图像中确定没有第一特征点的像素行,并将该像素行作为待插值的第一目标像素行,表示需要在第一目标像素行中插入新的特征点。可以理解,在第一图像中,不同像素行所对应的纵坐标值不同,所以计算机设备则可以针对第一目标像素行对应的纵坐标进行线性插值,以确定待插入第一目标像素行的特征点,得到新增的第一特征点,从而保证第一图像中的每个像素行都有第一特征点,使第一图像中的各个第一特征点均匀分布,从而进一步保证基于这些第一特征点进行图像对齐和图像拼接的准确性。另外,计算机设备将基于线性插值得到的新增的第一特征点加入更新后的第一特征点集,得到全局特征点集。计算机设备根据全局特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
50.在一些实施例中,步骤“根据全局特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像”具体包括但不限于包括步骤:对更新后的偏移量集合进行多项式拟合得到拟合公式,并根据拟合公式预测全局特征点集中新增的第一特征点的像素坐标偏移量;将预测的像素坐标偏移量加入更新后的偏移量集合,得到全局的像素坐标偏移量集合;根据全局特征点集和全局的像素坐标偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
51.其中,多项式拟合是用一个多项式展开去拟合包含数个分析格点的一小块分析区域中的所有观测点,得到观测数据的客观分析,展开系数用最小二乘拟合确定。
52.具体地,由于在第二图像中并没有与新增的第一特征点相匹配的第二特征点,因此,计算机设备需要针对更新后的偏移量集合进行多项式拟合,以得到能够表征每个第一特征点与对应的像素坐标偏移量之间的函数关系。也就是说,计算机设备根据该拟合公式就能预测得到新增的第一特征点所对应的像素坐标偏移量,而并不需要在第二图像中对新增的第一特征点进行特征点匹配。计算机设备将预测的像素坐标偏移量加入更新后的偏移量集合,得到全局的像素坐标偏移量集合,此时全局特征点集的每个第一特征点都能在全局的像素坐标偏移量集合中匹配到对应的像素坐标偏移量。之后,计算机设备根据全局特征点集和全局的像素坐标偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
53.在一些实施例中,可以使用对最小二乘法更新后的偏移量集合进行多项式拟合。其中,最小二乘法又称最小平方法,是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配,利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
54.在一些实施例中,步骤“根据全局特征点集和全局的像素坐标偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像”,具体包括但不限于包括步骤:针对第一图像中的每个像素行,确定全局特征点集在像素行上的第一特征点,得到目标特征点;从全局的像素坐标偏移量集合中确定根据目标特征点计算得到的像素坐标偏移量,得到目标像素坐标偏移量;根据目标像素坐标偏移量,在第二图像中定位与目标特征点所在像素行相匹配的第二目标像素行;分别将第二图像中的各第二目标像素行对齐至第一图像中与第二目标像素行相匹配的像素行,得到对齐后的第二图像。
55.具体地,计算机设备针对第一图像中的每个像素行,确定全局特征点集在该像素行上的第一特征点,并将在该像素行上的第一特征点作为目标特征点。计算机设备从全局的像素坐标偏移量集合中确定根据目标特征点计算得到的像素坐标偏移量,并将根据目标特征点计算得到的像素坐标偏移量作为目标像素坐标偏移量。计算机设备根据目标像素坐标偏移量,在第二图像中定位与目标特征点所在像素行相匹配的像素行,作为第二目标像素行。计算机设备分别将第二图像中的各第二目标像素行对齐至第一图像中与第二目标像素行相匹配的像素行,得到对齐后的第二图像。可以理解,以像素行为单位进行图像对齐方式就能使第二图像中的每个像素行都能准确对齐到第一图像中对应的像素行,相较于整图对齐的方式,对齐效果更好。
56.在一些实施例中,还可以使用线性插值的方法将第二图像中的每个像素行都与第二图像中的每个像素行一一对应,得到对齐后的第二图像。
57.在一些实施例中,步骤110具体包括但不限于包括步骤:确定第一图像和对齐后的第二图像的重叠区域;从重叠区域中确定拼接线,以根据拼接线将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像。
58.其中,拼接线则是第一图像和第二图像之间的重叠区域中最为相似的线。
59.具体地,计算机设备确定第一图像和对齐后的第二图像的重叠区域,并从重叠区域中找到最为相似的线作为拼接线,以将第一图像和对齐后的第二图像沿着拼接线进行图像拼接,得到拼接好的图像,即得到拼接效果更自然的目标拼接图像。
60.在一些实施例中,可以使用动态规划算法,以索伯算子(sobel operator)求解的梯度作为能量函数,将重叠区域的第一个像素行记为能量函数的初始值,再依次根据每个像素行的前一行像素的能量,迭代计算每个像素行的能量,在计算重叠区域中每个像素行的能量之后,则选取能量函数最小的一条接缝,即选取重叠区域中的每一像素行对图像梯度影响最小的一条线,并将这条线作为拼接线。可以理解,在得到第一图像和对齐后的第二图像的拼接线后,则可以在拼接线附近的若干个像素使用融合算法,对于重叠区域中远离拼接线的位置只选择一侧的图像,通过这样的方法,可以有效地去除图像之间的错位和伪像,能够得到更好的拼接结果。
61.其中,动态规划算法通常用于求解具有某种最优性质的问题,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。索伯算子是图像处理中的算子之一,有时又称为索伯-费德曼算子或索贝滤波器,在影像处理及电脑视觉领域中常被用来做边缘检测。
62.在一些实施例中,如图2所示,图像采集设备为双目线阵相机,本技术的图像拼接方法还具体包括但不限于包括以下步骤:步骤202,获取通过双目线阵相机针对目标对象采集的第一图像和第二图像。
63.步骤204,对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集。
64.步骤206,针对每个第二特征点和相匹配的第一特征点,获取第二特征点在第二图像中的第二像素坐标,并获取相匹配的第一特征点在第一图像中的第一像素坐标。
65.步骤208,计算第一像素坐标和第二像素坐标的差值,得到第二特征点对应的像素坐标偏移量。
66.步骤210,根据各第二特征点分别对应的像素坐标偏移量,得到偏移量集合。
67.步骤212,遍历第一特征点集,针对每个遍历至的第一特征点,获取在第一特征点的预设范围内的多个参考特征点,并确定多个参考特征点的坐标均值。
68.步骤214,若遍历至的第一特征点的坐标与坐标均值的差值大于或等于预设坐标差值,则从第一特征点集中删除第一特征点,并从偏移量集合中删除根据第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合。
69.步骤216,从第一图像中确定待插值的第一目标像素行。
70.可以理解,待插值的第一目标像素行中没有更新后的第一特征点集中的第一特征点。
71.步骤218,对第一目标像素行对应的纵坐标进行线性插值,以确定待插入第一目标像素行的特征点,得到新增的第一特征点。
72.步骤220,将新增的第一特征点加入更新后的第一特征点集,得到全局特征点集。
73.步骤222,对更新后的偏移量集合进行多项式拟合得到拟合公式,并根据拟合公式预测全局特征点集中新增的第一特征点的像素坐标偏移量。
74.步骤224,将预测的像素坐标偏移量加入更新后的偏移量集合,得到全局的像素坐标偏移量集合。
75.步骤226,针对第一图像中的每个像素行,确定全局特征点集在像素行上的第一特征点,得到目标特征点。
76.步骤228,从全局的像素坐标偏移量集合中确定根据目标特征点计算得到的像素坐标偏移量,得到目标像素坐标偏移。
77.步骤230,根据目标像素坐标偏移量,在第二图像中定位与目标特征点所在像素行相匹配的第二目标像素行。
78.步骤232,分别将第二图像中的各第二目标像素行对齐至第一图像中与第二目标像素行相匹配的像素行,得到对齐后的第二图像。
79.步骤234,确定第一图像和对齐后的第二图像的重叠区域。
80.步骤236,从重叠区域中确定拼接线,以根据拼接线将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像。
81.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
82.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的图像拼接方法的图像拼接装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像拼接装置实施例中的具体限定可以参见上文中对于图像拼接方法的限定,在此不再赘述。
83.在一个实施例中,如图3所示,提供了一种图像拼接装置,包括:获取模块302、匹配
模块304、计算模块306、对齐模块308和拼接模块310,其中:获取模块302,用于获取通过图像采集设备针对目标对象采集的第一图像和第二图像;匹配模块304,用于对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算模块306,用于计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到偏移量集合;对齐模块308,用于基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;拼接模块310,用于将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像;目标拼接图像完整显示目标对象。
84.上述图像拼接装置,通过获取通过图像采集设备针对目标对象采集的第一图像和第二图像;对第一图像和第二图像进行特征点匹配,得到第一图像中的第一特征点集和第二图像中的第二特征点集;第一特征点集中的各第一特征点分别在第二特征点集中具有相匹配的第二特征点;计算各第二特征点相较于相匹配的第一特征点的像素坐标偏移量,得到用于进行像素行对齐的偏移量集合。将第一图像和第二图像的像素行为对齐单位进行图像对齐,即,基于偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行对齐,得到对齐后的第二图像;将第一图像和对齐后的第二图像进行拼接,得到完整显示目标对象的目标拼接图像。也就是说,本技术通过计算各第一特征点和各第二特征点的像素坐标偏移量的方式,就能够明确得知相匹配的特征点之间的偏移情况,并采用将像素行一一对齐的方式,能够保证第二图像中的像素行都能对齐到第一图像相匹配的像素行,进而提高图像拼接的准确度。
85.在一些实施例中,计算模块306还用于针对每个第二特征点和相匹配的第一特征点,获取第二特征点在第二图像中的第二像素坐标,并获取相匹配的第一特征点在第一图像中的第一像素坐标;计算第一像素坐标和第二像素坐标的差值,得到第二特征点对应的像素坐标偏移量;根据各第二特征点分别对应的像素坐标偏移量,得到偏移量集合。
86.在一些实施例中,对齐模块308还用于遍历第一特征点集,针对每个遍历至的第一特征点,获取在第一特征点的预设范围内的多个参考特征点,并确定多个参考特征点的坐标均值;若遍历至的第一特征点的坐标与坐标均值的差值大于或等于预设坐标差值,则从第一特征点集中删除第一特征点,并从偏移量集合中删除根据第一特征点计算得到的像素坐标偏移量,以更新第一特征点集和偏移量集合;基于更新后的第一特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
87.在一些实施例中,对齐模块308还用于从第一图像中确定待插值的第一目标像素行;待插值的第一目标像素行中没有更新后的第一特征点集中的第一特征点;对第一目标像素行对应的纵坐标进行线性插值,以确定待插入第一目标像素行的特征点,得到新增的第一特征点;将新增的第一特征点加入更新后的第一特征点集,得到全局特征点集;根据全局特征点集和更新后的偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行
进行对齐,得到对齐后的第二图像。
88.在一些实施例中,对齐模块308还用于对更新后的偏移量集合进行多项式拟合得到拟合公式,并根据拟合公式预测全局特征点集中新增的第一特征点的像素坐标偏移量;将预测的像素坐标偏移量加入更新后的偏移量集合,得到全局的像素坐标偏移量集合;根据全局特征点集和全局的像素坐标偏移量集合,将第二图像中的各像素行与第一图像中对应的像素行进行对齐,得到对齐后的第二图像。
89.在一些实施例中,对齐模块308还用于针对第一图像中的每个像素行,确定全局特征点集在像素行上的第一特征点,得到目标特征点;从全局的像素坐标偏移量集合中确定根据目标特征点计算得到的像素坐标偏移量,得到目标像素坐标偏移量;根据目标像素坐标偏移量,在第二图像中定位与目标特征点所在像素行相匹配的第二目标像素行;分别将第二图像中的各第二目标像素行对齐至第一图像中与第二目标像素行相匹配的像素行,得到对齐后的第二图像。
90.在一些实施例中,拼接模块310还用于确定第一图像和对齐后的第二图像的重叠区域;从重叠区域中确定拼接线,以根据拼接线将第一图像和对齐后的第二图像进行拼接,得到目标拼接图像。
91.上述图像拼接装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
92.在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与图像生成相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像拼接方法。
93.在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像拼接方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
94.本领域技术人员可以理解,图4和图5中示出的结构,仅仅是与本技术方案相关的
部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
95.在一些实施例中,还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
96.在一些实施例中,如图6所示,提供了一种计算机可读存储介质600,其上存储有计算机程序602,该计算机程序602被处理器执行时实现上述各方法实施例中的步骤。
97.在一些实施例中,提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
98.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
99.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
100.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
101.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1