一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像拼接方法、图像拼接装置和计算机可读存储介质与流程

2022-05-11 12:32:23 来源:中国专利 TAG:


1.本技术涉及图像处理技术领域,具体涉及一种图像拼接方法、图像拼接装置和计算机可读存储介质。


背景技术:

2.在安防领域,由于单个相机视场角有限,无法满足用户对监控的需求,因此需要设置多个相机来采集多视角的画面,然后再将多个相机的监控画面拼接到一起,形成视野更加广阔的画面,而相关技术中在对多个监控画面进行拼接时,容易出现拼接画面错位的问题。


技术实现要素:

3.本技术提供一种图像拼接方法、图像拼接装置和计算机可读存储介质,能够提高图像拼接的精确度,避免产生拼接图像错位问题。
4.为解决上述技术问题,本技术采用的技术方案是:提供一种图像拼接方法,该图像拼接方法包括:对第一待拼接图像与第二待拼接图像进行匹配处理,得到多个匹配特征点组,匹配特征点组包含第一待拼接图像中的第一匹配特征点与第二待拼接图像中的第二匹配特征点,第一待拼接图像包含多个网格区域;基于第一匹配特征点与网格区域的中心位置,计算出局部权重;基于局部权重对每个匹配特征点组进行处理,得到第一重投影误差;基于第一重投影误差对网格区域对应的旋转矩阵进行优化,得到区域旋转矩阵;基于所有区域旋转矩阵对第一待拼接图像与第二待拼接图像进行拼接,得到拼接图像。
5.为解决上述技术问题,本技术采用的另一技术方案是:提供一种图像拼接装置,装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的图像拼接方法。
6.为解决上述技术问题,本技术采用的另一技术方案是:提供一种计算机可读存储介质,其用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的图像拼接方法。
7.通过上述方案,本技术的有益效果是:先将待拼接图像划分为多个网格区域;然后通过每个网格区域对应的区域旋转矩阵,来描述需要进行拼接的待拼接图像中相应的网格区域之间的位置关系;然后通过区域旋转矩阵来进行图像拼接;同时,还将第一匹配特征点与网格区域的中心位置作为局部权重对每个匹配特征点组进行处理,得到第一重投影误差,从而方便利用第一重投影误差自动优化区域旋转矩阵,能够参照网格区域附近的匹配特征点对网格区域的区域旋转矩阵的参数影响,使得区域旋转矩阵能够准确地描述网格区域与相待拼接图像之间的位置关系,从而提高区域旋转矩阵的准确度,进而提高图像拼接的精度;而且,本技术所提供的图像拼接方案无需手动调节参数,能够提高图像拼接的效率,同时适应于各种应用场景,通用性较强。
附图说明
8.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
9.图1是本技术提供的图像拼接方法一实施例的流程示意图;
10.图2(a)~图2(d)是四张待拼接图像的示意图;
11.图3是拼接图像的示意图;
12.图4是图2(a)中的待拼接图像的网格区域的示意图;
13.图5是本技术提供的图像拼接方法另一实施例的流程示意图;
14.图6是本技术提供的步骤52的流程示意图;
15.图7是本技术提供的图像拼接装置一实施例的结构示意图;
16.图8是本技术提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
17.下面结合附图和实施例,对本技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本技术,但不对本技术的范围进行限定。同样的,以下实施例仅为本技术的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
18.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
19.需要说明的是,本技术中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
20.请参阅图1,图1是本技术提供的图像拼接方法一实施例的流程示意图,该方法包括:
21.步骤11:对第一待拼接图像与第二待拼接图像进行匹配处理,得到多个匹配特征点组。
22.待拼接图像(包括第一待拼接图像与第二待拼接图像)可由设置在应用场景中的多目相机采集得到,可设置多个相机采集应用场景中不同视角的画面,一般视角范围可在0
°
~180
°
区间内,可在视角范围区间内设置2~8个相机,从而可采集到2~8张不同视角的监控图像,例如:在飞机场中,可通过设置四个相机采集到如图2(a)~图2(d)所示的四张监
控图像,然后再利用本实施例提供的图像拼接方法将四张监控图像拼接在一起。
23.具体地,第一待拼接图像与第二待拼接图像可为相邻的两个图像;在待拼接图像为三张或者三张以上时,即多个相机采集到多张监控图像时,在对多张待拼接图像进行拼接之前,可先对多张待拼接图像的拼接顺序进行排列,然后按照拼接顺序依次选择出两张相邻的第一待拼接图像与第二待拼接图像进行拼接处理,然后再将选择出下一组相邻的第一待拼接图像与第二待拼接图像进行拼接处理,以此类推,直至所有待拼接图像拼接完毕。
24.以图2(a)~图2(d)四张待拼接图像为例,可将四张待拼接图像按照图2(a)至图2(d)的拼接顺序进行排序,可先将图2(a)与图2(b)作为第一待拼接图像以及第二待拼接图像,对图2(a)与图2(b)进行拼接;然后再将图2(b)与图2(c)作为第一待拼接图像以及第二待拼接图像,对图2(b)与图2(c)进行拼接;然后再将图2(c)与图2(d)作为第一待拼接图像以及第二待拼接图像,对图2(c)与图2(d)进行拼接,从而完成对四张待拼接图像的拼接,得到如图3所示的拼接图像。可以理解地,图像的排列顺序可根据相机的视角来进行设置,例如:上述排序是按照从左到右的视角顺序来执行的;在其他实施方式中,还可按照从右到左的视角顺序来排序,即拼接顺序为图2(d)至图2(a)。
25.进一步地,匹配特征点组包含第一待拼接图像中的第一匹配特征点与第二待拼接图像中的第二匹配特征点;在获取到待拼接图像时,可先对待拼接图像进行去畸变处理,以校正待拼接图像;然后再对去畸变处理后的待拼接图像进行特征点提取,得到待拼接图像上的多个特征点;然后将相邻的第一待拼接图像与第二待拼接图像进行特征点匹配,得到第一待拼接图像中的第一匹配特征点与第二待拼接图像中的第二匹配特征点;可以理解地,第一匹配特征点以及第二匹配特征点可为多个,第一待拼接图像中的第一匹配特征点与第二待拼接图像中的第二匹配特征点一一对应。
26.在一具体的实施方式中,第一待拼接图像可包含多个网格区域,如图4所示,可在第一待拼接图像中划分出多个网格区域,然后对第一待拼接图像中的每个网格区域进行处理,从而得到每个网格区域对应的区域旋转矩阵;然后再利用每个网格区域对应的区域旋转矩阵进行图像拼接,以提高图像拼接的精确度;可以理解地,网格区域的划分方式以及数量可根据实际情况进行设置,网格区域的数量越多,图像拼接的精确度越高。
27.步骤12:基于第一匹配特征点与网格区域的中心位置,计算出局部权重。
28.可根据第一匹配特征点的位置坐标与网格区域的中心位置坐标,计算出局部权重,从而通过局部权重对每个匹配特征点组进行处理,通过参考第一匹配特征点与网格区域中心位置的位置关系,提高计算得到的网格区域对应的区域旋转矩阵的精确度,具体计算出区域旋转矩阵的步骤如下述步骤13~14所示。
29.步骤13:基于局部权重对每个匹配特征点组进行处理,得到第一重投影误差。
30.可对每个匹配特征点组进行重投影误差计算,然后利用局部权重对每个匹配特征点组对应的重投影误差进行加权处理,从而得到该网格区域对应的第一重投影误差。
31.步骤14:基于第一重投影误差对网格区域对应的旋转矩阵进行优化,得到区域旋转矩阵。
32.相邻的第一待拼接图像与第二待拼接图像的相机位置关系为旋转关系,则可通过旋转矩阵描述相邻两个待拼接图像或者相邻两个相机之间的旋转位置关系,旋转位置关系可用下述公式(1)表达:
33.i2=ri*i1ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1)
34.其中,上述公式(1)中的i1、i2为相邻图像中的像素点坐标,ri为相邻图像之间的旋转矩阵。
35.在本实施例中,可将待拼接图像划分为多个网格区域,每个网格区域对应一个区域旋转矩阵,则可通过每个网格区域对应的区域旋转矩阵对匹配特征点进行投影,从而实现图像拼接,以提高图像拼接的精度;具体地,网格区域对应的旋转矩阵可为三行三列的矩阵,其初始状态下包含的元素可根据实际情况进行自定义设置,例如:单位矩阵,然后再根据计算出的第一重投影误差对该旋转矩阵进行优化。
36.进一步地,重投影误差指的是匹配特征点在图像平面上的投影和利用旋转矩阵对匹配特征点进行重投影的差值,例如:第一待拼接图像的第一匹配特征点的位置坐标为(x,y),第二待拼接图像的第二匹配特征点的位置坐标为(u,v),则重投影误差可用下述公式(2)表示:
[0037][0038]
其中,上述公式(2)中的error为重投影误差。
[0039]
可以理解地,重投影误差的数值越小(即越接近0),说明旋转矩阵越精确,在旋转矩阵不准确时,可利用重投影误差对旋转矩阵进行优化,直至优化后的第一重投影误差接近0,从而得到最终的区域旋转矩阵。
[0040]
步骤15:基于所有区域旋转矩阵对第一待拼接图像与第二待拼接图像进行拼接,得到拼接图像。
[0041]
在通过上述步骤得到所有网格区域对应的区域旋转矩阵之后,便可根据所有区域旋转矩阵对第一待拼接图像与第二待拼接图像进行拼接,将第一待拼接图像与第二待拼接图像投影到同一球面坐标系中,从而得到拼接图像,以上述图2(a)~图2(d)所示的四张待拼接图像为例,可依次进行图像拼接,得到如图3所示的拼接图像。
[0042]
本实施例通过多个网格区域对应的区域旋转矩阵来进行图像拼接,能够减少图像拼接时的误差,提高图像拼接的精度,从而减少拼接错位的现象;同时,还将第一匹配特征点与网格区域的中心位置作为局部权重对每个匹配特征点组进行处理,得到第一重投影误差,从而利用第一重投影误差自动优化区域旋转矩阵,能够参照网格区域附近的匹配特征点对网格区域的区域旋转矩阵的参数影响,使得区域旋转矩阵能够准确地描述网格区域与相待拼接图像之间的位置关系,从而提高区域旋转矩阵的准确度,进而提高图像拼接的精度;而且,本实施例中的图像拼接方法无需手动调节参数,能够提高图像拼接的效率,同时适应于各种应用场景,通用性较强。
[0043]
请参阅图5,图5是本技术提供的图像拼接方法另一实施例的流程示意图,该方法包括:
[0044]
步骤51:对第一待拼接图像与第二待拼接图像进行匹配处理,得到多个匹配特征点组。
[0045]
该步骤51与上述实施例中的步骤11相同,在此不再赘述。
[0046]
步骤52:基于第一匹配特征点与网格区域的中心位置,计算出局部权重。
[0047]
如图6所示,根据第一匹配特征点与网格区域的中心位置,计算出局部权重的方法如下所示:
[0048]
步骤61:计算第一匹配特征点与网格区域的中心位置之间的距离。
[0049]
可根据第一匹配特征点的位置坐标与网格区域的中心位置坐标计算两者之间的距离;具体地,以网格区域的中心位置坐标为(m,n),第一匹配特征点的位置坐标为(xi,yi)为例,可利用下述公式(3)计算距离:
[0050][0051]
其中,在上述公式(3)中d为距离。
[0052]
步骤62:以自然常数为底数、距离的相反数为指数进行指数幂运算,得到第五数值。
[0053]
在计算出第一匹配特征点与网格区域的中心位置之间的距离之后,以自然常数为底数、距离的相反数为指数进行指数幂运算,得到第五数值,即采用下述公式(4)计算第五数值:
[0054]
z=e
(-d)
ꢀꢀꢀꢀꢀꢀꢀ
公式(4)
[0055]
其中,上述公式(4)中e为自然常数,z为第五数值。
[0056]
步骤63:判断第五数值是否大于第一预设数值。
[0057]
步骤64:若第五数值大于第一预设数值,则确定局部权重为第五数值。
[0058]
步骤65:若第五数值小于或等于第一预设数值,则确定局部权重为第一预设数值。
[0059]
可根据第五数值的大小来确定局部权重,将第五数值与第一预设数值进行大小比较,在第五数值大于第一预设数值时,将第五数值作为局部权重,在第五数值小于或等于第一预设数值时,可将第一预设数值作为局部权重;具体地,第一预设数值可为0.1,即可利用下述公式(5)确定局部权重:
[0060]
w=max(e-d
,0.1)
ꢀꢀꢀꢀ
公式(5)
[0061]
其中,上述公式(5)中w为局部权重,max()为求取最大值的函数。
[0062]
可以理解地,对于一个网格区域来说,每个匹配特征点组对应一个局部权重,可通过上述方法计算得到每个匹配特征点组对应的局部权重,然后获取每个匹配特征点组对应的第二重投影误差,再基于对应的局部权重对第二重投影误差进行加权处理,从而得到第一重投影误差,具体如下述步骤53~55所示。
[0063]
步骤53:基于旋转矩阵与第一匹配特征点的位置坐标,计算得到与第二匹配特征点对应的映射位置坐标。
[0064]
第一匹配特征点的位置坐标包括第一横坐标值与第一纵坐标值,映射位置坐标包括第二横坐标值与第二纵坐标值;可将第一横坐标值、第一纵坐标值以及预设值组成第一向量,从旋转矩阵中抽取出第一行元素,形成第二向量;然后从旋转矩阵中抽取出第二行元素,形成第三向量;再计算第一向量与第二向量的点积,得到第二横坐标值;计算第一向量与第三向量的点积,得到第二纵坐标值。
[0065]
具体地,旋转矩阵可为根据实际情况自定义设置的三行三列的矩阵,预设值可为1,即利用下述公式(6)以及公式(7)计算出第二匹配特征点对应的映射位置坐标:
[0066]urotate
=r(0,0)*xi r(0,1)*yi r(0,2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(6)
[0067]vrotate
=r(1,0)*xi r(1,1)*yi r(1,2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(7)
[0068]
其中,在上述公式(6)以及公式(7)中u
rorate
为第二横坐标值,v
rorate
为第二纵坐标值,xi为第一横坐标值,yi为第一纵坐标值,r(0,0)、r(0,1)与r(0,2)为旋转矩阵的第一行元素,r(0,0)表示旋转矩阵的第一行第一列对应的元素,其组成第二向量,r(0,1)表示旋转矩阵的第一行第二列对应的元素,r(0,2)表示旋转矩阵的第一行第三列对应的元素,r(1,0)、r(1,1)与r(1,2)为旋转矩阵的第二行元素,其组成第三向量,r(1,0)表示旋转矩阵的第二行第一列对应的元素,r(1,1)表示旋转矩阵的第二行第二列对应的元素,r(1,2)表示旋转矩阵的第二行第三列对应的元素。
[0069]
步骤54:基于第二匹配特征点的位置坐标与映射位置坐标,计算得到第二重投影误差。
[0070]
第二匹配特征点的位置坐标包括第三横坐标值与第三纵坐标值,第二重投影误差包括第一横坐标误差与第一纵坐标误差;计算第二横坐标值与第三横坐标值的差值,得到第一横坐标误差;计算第二纵坐标值与第三纵坐标值的差值,得到第一纵坐标误差。
[0071]
步骤55:基于局部权重对第二重投影误差进行加权处理,得到第一重投影误差。
[0072]
每个匹配特征点组对应一个局部权重,每个匹配特征点组对应一个第二重投影误差,可将利用所有匹配特征点组对应的局部权重与第二重投影误差进行加权求和,得到该网格区域对应的第一重投影误差;具体地,第一重投影误差可包括第二横坐标误差与第二纵坐标误差,可对所有第一横坐标误差与局部权重进行加权求和,得到第二横坐标误差,对所有第一纵坐标误差与局部权重进行加权求和,得到第二纵坐标误差,相当于,利用下述公式(8)以及公式(9)计算出第一重投影误差:
[0073][0074][0075]
其中,在上述公式(8)以及公式(9)中,error0为第二横坐标误差,error1为第二纵坐标误差,m为匹配特征点组的总个数,wi为第i个匹配特征点组对应的局部权重,(ui,vi)为第i个匹配特征点组中第二匹配特征点的位置坐标。
[0076]
步骤56:基于第一重投影误差对网格区域对应的旋转矩阵进行优化,得到区域旋转矩阵。
[0077]
将第二横坐标误差的平方与第二纵坐标误差的平方相加,得到第一重投影误差,即error=error02 error12;具体地,第一重投影误差的数值越小,说明旋转矩阵越准确,可根据第一重投影误差的大小来判断当前网格区域对应的旋转矩阵是否需要优化,判断第一重投影误差是否小于第二预设数值,若第一重投影误差小于第二预设数值,则确定旋转矩阵为区域旋转矩阵;若第一重投影误差大于或等于第二预设数值,则对旋转矩阵中的元素阵进行调整,并返回基于旋转矩阵与第一匹配特征点的位置坐标,计算得到与第二匹配特征点对应的映射位置坐标的步骤,直至第一重投影误差小于第二预设数值。
[0078]
进一步地,第二预设数值可根据实际情况进行设置,其数值范围一般可设置在0.05~0.1范围之内,即判断第一重投影误差是否接近0,若第一重投影误差接近0,则说明
此时的旋转矩阵无需优化,可直接将其确定为区域旋转矩阵;若第一重投影误差不接近0,则说明此时的旋转矩阵需要优化,可利用第一重投影误差对旋转矩阵中的元素阵进行调整,从而得到优化后的旋转矩阵;然后再计算出优化后的旋转矩阵对应的第一重投影误差,直至第一重投影误差小于第二预设数值,然后将优化后的旋转矩阵确定为区域旋转矩阵。
[0079]
在一具体的实施方式中,可利用数值优化的方法根据第一重投影误差对网格区域对应的旋转矩阵进行优化,以得到准确的区域旋转矩阵,其中,数值优化的方法包含但不限于高斯牛顿法,可先对第一重投影误差进行求导运算,然后再采用高斯牛顿法对旋转矩阵进行优化。
[0080]
步骤57:基于所有区域旋转矩阵对第一待拼接图像与第二待拼接图像进行拼接,得到拼接图像。
[0081]
该步骤57与上述步骤15相同,在此不再赘述。
[0082]
本实施例利用第一匹配特征点与网格区域的中心位置对第二重投影误差进行加权处理,得到第一重投影误差;然后基于第一重投影误差对网格区域对应的旋转矩阵进行优化,得到区域旋转矩阵,从而利用图像中所有网格区域对应的区域旋转矩阵进行图像拼接,以提高图像拼接的精度,减少拼接错位的现象。
[0083]
请参阅图7,图7是本技术提供的图像拼接装置一实施例的结构示意图,图像拼接装置70包括互相连接的存储器71和处理器72,存储器71用于存储计算机程序,计算机程序在被处理器72执行时,用于实现上述实施例中的图像拼接方法。
[0084]
请参阅图8,图8是本技术提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质80用于存储计算机程序81,计算机程序81在被处理器执行时,用于实现上述实施例中的图像拼接方法。
[0085]
计算机可读存储介质80可以是服务端、u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0086]
在本技术所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0087]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0088]
另外,在本技术各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0089]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献